前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网页解析之Beautiful Soup库运用

网页解析之Beautiful Soup库运用

作者头像
企鹅号小编
发布2018-02-05 16:37:53
1.2K0
发布2018-02-05 16:37:53
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

今日分享:Beautiful Soup库简单应用

一句话来理解 Beautiful Soup库就是:它是解析遍历维护标签树的功能库。以下是BeautifulSoup库的文档链接:

官方链接https://www.crummy.com/software/BeautifulSoup/bs4/doc/

中文链接https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

下面根据一个示例来了解学习BeautifulSoup库:

>>> import requests

>>> from bs4 import BeautifulSoup

#输入以上两个第三方库

注:BeautifulSoup类其实是Beautiful Soup库(bs4库)中的一个类,是解析网页用的最多的一个类。

#要访问的页面url链接

>>> r = requests.get(url)

>>> r.encoding = r.apparent_encoding

>>> r.text

输入以上内容,并运行,这时会输出代码文件

>>> html = r.text

>>> soup = BeautifulSoup(html,'html.parser')

#以上的这一句代码就是运用BeautifulSoup类了,括号中的 html 是要解析的对象,不难看出其就是response响应的文本内容,而括号中的 html.parser 是Beautiful Soup库中自带的解析html的方法工具,上面代码中的soup(大神都称它为美丽汤)其实质也就是源代码,即源代码==标签树==美丽汤。

什么是标签树?看下面内容:

关于百度

About Baidu

#这是上面代码运行后的部分代码截取,这就是一个标签树,一般情况下,都是由多个成对的尖括号组成。

以上是BeautifulSoup类的引用;同时呢Beautiful Soup库也包含以下一些基本元素:Tag 标签,最基本的信息组织单元,分别用和标明开头和结尾;Name 标签的名字,

的名字是'p',格式:.name;Attributes 标签的属性,字典形式组织,格式:.attrs;NavigableString 标签内非属性字符串,…中字符串,格式:.string;Comment 标签内字符串的注释部分,一种特殊的Comment类型。

意见反馈

#在这个简易标签树中,...这一个整体称为标签Tag;a 即为标签名;class="cp-feedback" href="http://jianyi.baidu.com/" 这是标签的两个属性;意见反馈 则为标签的非属性字符串。

小技巧补充:

如果运行了以上的 soup ,你会发现输出的内容非常混乱,小编要说的是bs4中的一个方法,它能够让代码友好的输出,对标签树的包含关系一目了然

>>> print(soup.prettify())

#可以尝试运行这句代码,效果非常好,鉴于代码较多,效果图就不放了。

Beautiful Soup库除了以上内容,更重要的内容还有HTML的遍历,这一块内容不仅多,而且对于后面的信息数据提取来说也非常重要,所以就放在下一篇文章中来说,想要提前学习的可以访问文章开始部分给出的两个网站。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 全球大搜罗媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档