python批量获取html内body内容的实例


Posted in Python onJanuary 02, 2019

现在有一批完整的关于介绍城市美食、景点等的html页面,需要将里面body的内容提取出来

方法:利用python插件beautifulSoup获取htmlbody标签的内容,并批量处理。

# -*- coding:utf8 -*-
 
from bs4 import BeautifulSoup
import os
import os.path
import sys
reload(sys) 
sys.setdefaultencoding('utf8') 
 
 
def printPath(level,path):
	global allFileNum
	#所有文件夹,第一个字段是此目录的级别
	dirList = []
 
	#所有文件
	fileList = []
 
	#返回一个列表,其中包含在目录条目的名称
	files = os.listdir(path)
 
	#先添加目录级别
	dirList.append(str(level))
 
	for f in files:
		if(os.path.isdir(path+'/'+f)):
			#排除隐藏文件夹,因为隐藏文件夹过多
			if(f[0] == '.'):
				pass
			else:
				#添加隐藏文件夹
				dirList.append(f)
		if(os.path.isfile(path+'/'+f)):
			#添加文件
			fileList.append(f)
	return (dirList,fileList)
 
#将文件html文件抓取并写入指定txt文件
def getAndInsert(rootdir,savepath,path):
	global file_num
	f_list = os.listdir(rootdir+'/'+path)
	for i in f_list:
		temp = os.path.splitext(i)[0]
		for num in range(1,11):
			if(i==str(num)+'.html'):
				#print rootdir+'/'+path+'/'+i
				objFile = open(rootdir+'/'+path+'/'+i)
				soup = BeautifulSoup(objFile)
				arr = []
				for child in soup.body:
					arr.append(child)
				if os.path.exists(savepath+'/'+path):
					pass
				else:
					os.makedirs(savepath+'/'+path)
				f = open(savepath+'/'+path+'/'+temp+'.txt','w')
				for k,v in enumerate(arr):
					if k!=1:
						f.write(str(v))
				f.close()
				print path+'/'+i+' is running'
	file_num = file_num + 1
			
 
rootdir = '../zips2'
dirList,fileList = printPath(1,rootdir)
 
savepath = "../testC"
file_num = 0
 
for fn in dirList:
	if(fn == '1'):
		pass
	else:
		getAndInsert(rootdir,savepath,fn)
		print fn+' is ending'
print '一共完成'+str(file_num)+'个城市的提取'

以上这篇python批量获取html内body内容的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python批量提取PDF文件中文本的脚本
Mar 14 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
python查看模块安装位置的方法
Oct 16 Python
python pygame实现2048游戏
Nov 20 Python
解决python Markdown模块乱码的问题
Feb 14 Python
20行python代码实现人脸识别
May 05 Python
Python基础知识点 初识Python.md
May 14 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
python匿名函数用法实例分析
Aug 03 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
详解python常用命令行选项与环境变量
Feb 20 Python
简述 Python 的类和对象
Aug 21 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 #Python
python生成器与迭代器详解
Jan 01 #Python
使用python3实现操作串口详解
Jan 01 #Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 #Python
python 内置模块详解
Jan 01 #Python
python配置grpc环境
Jan 01 #Python
python制作mysql数据迁移脚本
Jan 01 #Python
You might like
php自动适应范围的分页代码
2008/08/05 PHP
PHP操作xml代码
2010/06/17 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python处理中文编码和判断编码示例
2014/02/26 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
python实现二维插值的三维显示
2018/12/17 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
业务经理岗位职责
2013/11/11 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
大二自我鉴定
2014/01/31 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
计算机专业自荐信
2015/03/05 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫
CentOS安装Nginx并部署vue
2022/04/12 Servers
Python中request的基本使用解决乱码问题
2022/04/12 Python