欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

python读取html中body_python批量获取html内body内容的实例

发布时间:2025/3/15 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python读取html中body_python批量获取html内body内容的实例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

现在有一批完整的关于介绍城市美食、景点等的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读取html中body_python批量获取html内body内容的实例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。