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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
python从入门到精通(DAY 3)
Dec 20 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Python3安装Pillow与PIL的方法
Apr 03 Python
python中的decimal类型转换实例详解
Jun 26 Python
django 微信网页授权登陆的实现
Jul 30 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 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执行.SQL文件
2013/07/05 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
python 切片和range()用法说明
2013/03/24 Python
python交互式图形编程实例(二)
2017/11/17 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python 的AES加密与解密实现
2019/07/09 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
植树节标语
2014/06/27 职场文书
参观邀请函范文
2015/02/02 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL