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切换hosts文件代码示例
Dec 31 Python
Python程序设计入门(3)数组的使用
Jun 16 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Python多继承原理与用法示例
Aug 23 Python
python解析含有重复key的json方法
Jan 22 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python中新式类与经典类的区别详析
Jul 10 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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通过COM类调用组件的实现代码
2012/01/11 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
js Html结构转字符串形式显示代码
2011/11/15 Javascript
js格式化时间小结
2014/11/03 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
在Python中使用异步Socket编程性能测试
2014/06/25 Python
记录Django开发心得
2014/07/16 Python
开始着手第一个Django项目
2015/07/15 Python
Python 递归函数详解及实例
2016/12/27 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
Python中的 enum 模块源码详析
2019/01/09 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
SQL语言面试题
2013/08/27 面试题
毕业生医学检验求职信
2013/10/16 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
中学实习教师自我鉴定
2013/12/12 职场文书
投标担保书范文
2014/04/02 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python