python获取html标签内容_python批量获取html内body内容的实例

本文介绍了如何使用Python的BeautifulSoup库批量提取HTML文件中body标签内的内容。通过遍历指定目录下的HTML文件,将每个文件的body内容保存到单独的TXT文件中,实现了批量处理的功能。
摘要由CSDN通过智能技术生成

现在有一批完整的关于介绍城市美食、景点等的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内容的实例

本文地址: http://www.cppcns.com/jiaoben/python/248842.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值