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三元运算实现方法
Jan 12 Python
python动态网页批量爬取
Feb 14 Python
Python编码爬坑指南(必看)
Jun 10 Python
numpy中索引和切片详解
Dec 15 Python
Python中最大递归深度值的探讨
Mar 05 Python
python+selenium实现简历自动刷新的示例代码
May 20 Python
详解Pandas之容易让人混淆的行选择和列选择
Jul 10 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
python3 删除所有自定义变量的操作
Apr 08 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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
YB217、YB235、YB400浅听
2021/03/02 无线电
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
Python-基础-入门 简介
2014/08/09 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
python访问系统环境变量的方法
2015/04/29 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
浅述python中深浅拷贝原理
2018/09/18 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
python操作kafka实践的示例代码
2019/06/19 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
合伙经营协议书范本
2014/04/18 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
消防宣传标语大全
2015/08/03 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
Go并发4种方法简明讲解
2022/04/06 Golang
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js