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 25 Python
python采集百度百科的方法
Jun 05 Python
Python命令行解析模块详解
Feb 01 Python
python @property的用法及含义全面解析
Feb 01 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
pytorch索引查找 index_select的例子
Aug 18 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
python可迭代对象去重实例
May 15 Python
vscode调试django项目的方法
Aug 06 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
使用Python webdriver图书馆抢座自动预约的正确方法
Mar 04 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
php控制文件下载速度的方法
2015/03/24 PHP
php设计模式之委托模式
2016/02/13 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
js切换div css注意的细节
2012/12/10 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
python flask中动态URL规则详解
2019/11/22 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
行政监察建议书
2014/05/19 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
新教师教学工作总结
2015/08/12 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
python flask框架快速入门
2021/05/14 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
前端JavaScript大管家 package.json
2021/11/02 Javascript
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL