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命令行参数sys.argv使用示例
Jan 28 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
python实现换位加密算法的示例
Oct 14 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
Python如何对齐字符串
Jul 30 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 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之COOKIE支持详解
2010/09/20 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
2016/06/08 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
在Python中使用Neo4j的方法
2019/03/14 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
深入了解Django中间件及其方法
2019/07/26 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python logging模块的使用
2020/09/07 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
英国足球店:UK Soccer Shop
2017/11/19 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
库房保管员岗位职责
2014/04/07 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
2014年组织部工作总结
2014/11/14 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
logback如何自定义日志存储
2021/08/30 Java/Android