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 基础学习第二弹 类属性和实例属性
Aug 27 Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
Python学习入门之区块链详解
Jul 25 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Python语言快速上手学习方法
Dec 14 Python
对Python发送带header的http请求方法详解
Jan 02 Python
python Django的web开发实例(入门)
Jul 31 Python
手动安装python3.6的操作过程详解
Jan 13 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
Python编程中内置的NotImplemented类型的用法
Mar 23 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模板解析类实例
2015/07/09 PHP
PHP精确计算功能示例
2016/11/29 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
python实现指定ip端口扫描方式
2019/12/17 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
医药个人求职信范文
2014/01/29 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏