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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
深入浅析Python中的yield关键字
Jan 24 Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 Python
Python中Numpy mat的使用详解
May 24 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
详解基于Scrapy的IP代理池搭建
Sep 29 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
判断PHP数组是否为空的代码
2011/09/08 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
初识Laravel
2014/10/30 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
详谈js模块化规范
2017/07/07 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
python中的随机函数random的用法示例
2018/01/27 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
python 数据类型强制转换的总结
2021/01/25 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
大学生军训自我评价分享
2013/11/09 职场文书
实习生个人的自我评价
2013/12/08 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python