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字符串对其居中显示的方法
Jul 11 Python
总结Python编程中函数的使用要点
Mar 20 Python
名片管理系统python版
Jan 11 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
python分数表示方式和写法
Jun 26 Python
python中对数据进行各种排序的方法
Jul 02 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
Python imageio读取视频并进行编解码详解
Dec 10 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
Apr 20 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
python实现倒计时的示例
2014/02/14 Python
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Python global全局变量函数详解
2018/09/18 Python
Python文件路径名的操作方法
2019/10/30 Python
python 类之间的参数传递方式
2019/12/20 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
捐款倡议书范文
2014/02/02 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
医院领导班子整改方案
2014/10/01 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
师范生见习总结范文
2015/06/23 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python