位置: 编程技术 - 正文
推荐整理分享Python使用BeautifulSoup库解析HTML基本使用教程(s='python is beautiful!'),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:pycharm中beautifulsoup,python beautifulsoup用法,python中beautifulsoup,pycharm中beautifulsoup,s='python is beautiful!',python中beautifulsoup,pycharm中beautifulsoup,pycharm中beautifulsoup,内容如对您有帮助,希望把文章链接给更多的朋友!
BeautifulSoup是Python的一个第三方库,可用于帮助解析html/XML等内容,以抓取特定的网页信息。目前最新的是v4版本,这里主要总结一下我使用的v3版本解析html的一些常用方法。
准备
1.Beautiful Soup安装
为了能够对页面中的内容进行解析,本文使用Beautiful Soup。当然,本文的例子需求较简单,完全可以使用分析字符串的方式。
执行
即可安装。
2.requests模块的安装
requests模块用于加载要请求的web页面。
在python的命令行中输入import requests,报错说明requests模块没有安装。
我这里打算采用easy_install的在线安装方式安装,发现系统中并不存在easy_install命令,输入sudo apt-get install python-setuptools来安装easy_install工具。
执行sudo easy_install requests安装requests模块。
基础
1.初始化 导入模块
创建对象:str初始化,常用urllib2或browser返回的html初始化BeautifulSoup对象。
指定编码:当html为其他类型编码(非utf-8和asc ii),比如GB的话,则需要指定相应的字符编码,BeautifulSoup才能正确解析。
2.获取tag内容 寻找感兴趣的tag块内容,返回对应tag块的剖析树
返回内容:hello 说明一下,contents属性是一个列表,里面保存了该剖析树的直接儿子。
3.获取关系节点 使用parent获取父节点
使用nextSibling, previousSibling获取前后兄弟
contents[]的灵活运用也可以寻找关系节点,寻找祖先或者子孙可以采用findParent(s), findNextSibling(s), findPreviousSibling(s)
4.find/findAll用法详解 函数原型:find(name=None, attrs={}, recursive=True, text=None, **kwargs),findAll会返回所有符合要求的结果,并以list返回。 tag搜索
attrs搜索
text搜索文字的搜索会导致其他搜索给的值如:tag, attrs都失效。方法与搜索tag一致
recursive和limit属性recursive=False表示只搜索直接儿子,否则搜索整个子树,默认为True。当使用findAll或者类似返回list的方法时,limit属性用于限制返回的数量,如findAll('p', limit=2): 返回首先找到的两个tag。
实例本文以博客的文档列表页面为例,利用python对页面中的文章名进行提取。
文章列表页中的文章列表部分的url如下:
代码:
python基于隐马尔可夫模型实现中文拼音输入 在网上看到一篇关于隐马尔科夫模型的介绍,觉得简直不能再神奇,又在网上找到大神的一篇关于如何用隐马尔可夫模型实现中文拼音输入的博客,无
python制作爬虫并将抓取结果保存到excel中 学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫。第一步:分析
python文件的md5加密方法 本文实例讲述了python文件的md5加密方法。分享给大家供大家参考,具体如下:简单模式:fromhashlibimportmd5defmd5_file(name):m=md5()a_file=open(name,'rb')#需要使用二
友情链接: 武汉网站建设