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用ConfigObj读写配置文件的实现代码
Mar 04 Python
python多线程编程中的join函数使用心得
Sep 02 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
Linux下Python获取IP地址的代码
Nov 30 Python
Python功能键的读取方法
May 28 Python
深入理解python多进程编程
Jun 12 Python
使用Eclipse如何开发python脚本
Apr 11 Python
python3实现逐字输出的方法
Jan 23 Python
python enumerate内置函数用法总结
Jan 07 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
python学习教程之使用py2exe打包
2017/09/24 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
python 字符串格式化的示例
2020/09/21 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
违反课堂纪律检讨书
2014/01/19 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2014财务年终工作总结
2014/12/08 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS