本文主要介绍Python BS4库的安装和使用的详细说明。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。
美汤库一般叫bs4库,支持Python3,是我们写爬虫非常好的第三方库。因为用起来非常简单流畅。所以也叫“好喝的汤”。bs4库的最新版本是4.60。下面会描述库最基本的用法,但具体细节还是要看:【美汤文档】。
bs4库的安装
Python的优势在于它是一种开源语言,很多开发者都为它开发了第三方库。这样,当我们开发者想要实现某个功能的时候,只要专心实现某个特定的功能,其他的细节和基础部分都可以交给库。Bs4库是我们写爬虫的有力帮手。
安装方法很简单:我们使用pip工具在命令行上安装。
$ pip安装beautifulsoup4
让我们看看bs4库是否已经成功安装。
$ pip列表
于是我们成功安装了bs4库。
bs4库的简单使用
在这里,我们简单说明一下bs4库的使用方法。
暂时不要考虑如何从网上抓取网页,
假设我们需要抓取的html如下:
作为示例,下面的HTML代码将被多次使用。这是《爱丽丝梦游仙境》(以下简称爱丽丝文档)中的一段话:
睡鼠的故事/标题/头像
身体
睡鼠的故事
从前有三个小姐妹;他们的名字是
http://example.com/elsie'埃尔西,
http://example.com/lacie'莱西和
http://example.com/tillie'蒂莉;
他们住在井底。/p
故事./p
/html
让我们开始用bs4库解析这段html网页代码。
#导入bs4模块
从bs4导入BeautifulSoup
#做一道美味的汤
soup=BeautifulSoup(html,' html.parser ')
#输出结果
print(soup . pretify())
'''
出局:
# html
#头
#标题
#睡鼠的故事
#/标题
#/头
#正文
# p class='标题'
# b
#睡鼠的故事
# /b
# /p
# p class='故事'
#从前有三个小姐妹;他们的名字是
# a class=' sis ter ' href=' http://example . com/elsie ' rel=' external no follow ' id=' link 1 '
#埃尔西
# /a
# ,
# a class=' sis ter ' href=' http://example . com/lacie ' rel=' external no follow ' id=' link 2 '
# Lacie
# /a
#还有
# a class=' sis ter ' href=' http://example . com/tillie ' rel=' external no follow ' id=' link 2 '
#蒂莉
# /a
# ;他们住在井底。
# /p
# p class='故事'
# .
# /p
# /body
# /html
'''
可以看到bs4库已经把网页文件变成了soup类型,
事实上,bs4库 是解析、遍历、维护、“标签树“的功能库。
通俗地说,bs4库将html源代码重新格式化,
从而方便我们操作节点、标签、属性等。
以下是浏览结构化数据的几种简单方法:
请仔细观察前面的html文件。
#查找文档的标题
汤.标题
# title睡鼠的故事/标题
#title的名称值
soup.title.name
# u'title '
#title中的# String字符串
汤.标题.字符串
#睡鼠的故事'
#title的父节点的名称属性
soup.title.parent.name
#你的头'
#文档中找到的第一个段落
汤. p
睡鼠的故事
找到p的# class属性值
汤,汤
# u'title '
#找到A标签
汤
# http://example.com/elsie' id=' link 1 '埃尔希
#找到所有的A标签
soup.find_all('a ')
#[http://example.com/elsie' id=' link 1 '埃尔西,
# http://example.com/lacie' id=' link 2 ' Lacie,
# http://example.com/tillie' id=' link 3 '蒂莉]
#找到id值等于3的标签A
soup.find(id='link3 ')
# http://example.com/tillie' id=' link 3 '蒂莉
通过上面的例子,我们知道bs4库是这样理解一个html源文件的:
首先,将html源文件转换成soup类型。
然后用特定的方式抓取内容。
更高级点的用法?
查找文档中所有A标签的链接:
#你发现了吗?find_all方法返回一个可以迭代的列表。
对于soup.find_all('a ')中的链接:
print(link.get('href '))
# http://example.com/elsie
# http://example.com/lacie
# http://example.com/tillie
从文档中获取所有文本内容:
#我们可以通过get_text方法快速获取源文件中的所有文本内容。
print(soup.get_text())
#睡鼠的故事
#
#睡鼠的故事
#
#从前有三个小姐妹;他们的名字是
#埃尔西,
# Lacie和
#蒂莉;
#他们住在井底。
#
# .
bs4库的介绍就到此为止吧。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。