最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用BeautifulSoup解析dom的方法

来源:懂视网 责编:小采 时间:2020-11-27 20:13:03
文档

使用BeautifulSoup解析dom的方法

使用BeautifulSoup解析dom的方法:使用Beautiful Soup解析dom本文主要介绍如何使用Beautiful Soup解析dom。Beautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不
推荐度:
导读使用BeautifulSoup解析dom的方法:使用Beautiful Soup解析dom本文主要介绍如何使用Beautiful Soup解析dom。Beautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不

Beautiful Soup的简介

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

Beautiful Soup 安装

博主使用的是mac,这里面就只介绍在mac下Beautiful Soup的安装方法。python 第三方库安装都很简单,楼主一直都使用pip来安装。

安装pip

easy_install pip

安装Beautiful Soup

pip install beautifulsoup4

有时候我们使用pip install beautifulsoup4 命令来安装会报错,这时候我们需要在命令前加上sudo来获得权限。

sudo pip install beautifulsoup4

到目前为止我们的准备工作就做好了,现在我们可以开始使用Beautiful Soup。本文只使用到了bs4(备注:文章中bs4=beautifulsoup4)部分方法,想要进一步了解bs4的可以查看bs4官方文档,楼主的项目建的很简单index.py和一个html文件夹,里面放有一些.html静态文件

index.py文件

# coding=utf-8import osfrom bs4 import BeautifulSoupimport sys 

#定义一个list来存放文件路径paths=[]#获取所有的文件路径def get_paths():
 for fpathe,dirs,fs in os.walk('html'): 
 for f in fs:  
 #print os.path.join(fpathe,f)
  #将拼接好的path存放到list中
  filepath=os.path.join(fpathe,f)  
  #只放入.html后缀文件路径
  if(os.path.splitext(f)[1]==".html"):
  paths.append(filepath)#读取html文件修改后并写入相应的文件中去def reset_file(path):
 #判断文件是否存在
 if not os.path.isfile(path): 
 raise TypeError(path + " does not exist") 
 #读取文件,bs4自动将输入文档转换为Unicode编码,
 #
输出文档转换为utf-8编码,bs4也可以直接读取html #字符串,例如BeautifulSoup('<p>content</p>') soup=BeautifulSoup(open(path)) #select是bs4提供的方法,和jquery的$选择器一样 #方便。可以标签(eg:p,title,p...)来查找,也 #也可以通过css的 class .和id #来查找,基本上和我们 #使用$一样。 #选取id="nav"节点下的所有li元素里面的a标签,返回值是一个list集合 nav_a=soup.select("#nav li a") #修改a的href属性 if(len(nav_a)>1): nav_a[0]["href"]="/m/" nav_a[1]["href"]="/m/about_mobile/m_about.html" #选取class="footer"里的所有a标签 footer_a=soup.select(".footer a") if(len(footer_a)>0): footer_a[1]["href"]="/m/about_mobile/m_sjdt.html" content_p=soup.select(".content p") #修改<p>我是string</p>里面的文本内容 if(len(content_p)>0): content_p[0].string="修改p标签里面的测试内容" #修改系统的默认编码 reload(sys) sys.setdefaultencoding('utf-8') #打开相应的文件写入模式,打开文件不要放入try里面,否则会 #出现异常 f=open(path,"w") try: #写入文件 f.write(soup.prettify()) finally: #关闭文件 file.close()#定义main函数程序的入口 if __name__=="__main__": get_paths() #遍历所有文件路径 for p in paths: reset_file(p)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

使用BeautifulSoup解析dom的方法

使用BeautifulSoup解析dom的方法:使用Beautiful Soup解析dom本文主要介绍如何使用Beautiful Soup解析dom。Beautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不
推荐度:
标签: 利用 方法 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top