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的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python 列表排序方法reverse、sort、sorted详解
Jan 22 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
Python读取xlsx文件的实现方法
Jul 04 Python
python爬虫增加访问量的方法
Aug 22 Python
学习Django知识点分享
Sep 11 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 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
sina的lightbox效果。
2007/01/09 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python变量和数据类型详解
2017/02/15 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
python unittest实现api自动化测试
2018/04/04 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
Python读写Excel表格的方法
2021/03/02 Python
新闻网站实习自我鉴定
2013/09/25 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
企业法人代表证明书
2014/09/27 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
志愿者事迹材料
2014/12/26 职场文书
捐款感谢信
2015/01/20 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js