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展示动态规则法用以解决重叠子问题的示例
Apr 02 Python
Python3读取UTF-8文件及统计文件行数的方法
May 22 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
python如何实现int函数的方法示例
Feb 19 Python
Python解析、提取url关键字的实例详解
Dec 17 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
python 计算积分图和haar特征的实例代码
Nov 20 Python
Python装饰器用法与知识点小结
Mar 09 Python
python实现udp聊天窗口
Mar 31 Python
Python xlwt模块使用代码实例
Jun 10 Python
python的数学算法函数及公式用法
Nov 18 Python
python数字转对应中文的方法总结
Aug 02 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 Rename 更改文件、文件夹名称
2011/05/24 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
python 实现堆排序算法代码
2012/06/05 Python
Python使用新浪微博API发送微博的例子
2014/04/10 Python
python列表操作实例
2015/01/14 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
怎么写自荐书范文
2014/02/12 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
2014年超市工作总结
2014/11/19 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
计划生育目标责任书
2015/05/09 职场文书
实施意见格式范本
2015/06/05 职场文书
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA