关于python:Python-网页解析初级篇BeautifulSoup库的入门使用

51次阅读

共计 1770 个字符,预计需要花费 5 分钟才能阅读完成。

在 Python 的网络爬虫中,网页解析是一项重要的技术。而在泛滥的网页解析库中,BeautifulSoup 库凭借其简略易用而广受欢迎。在本篇文章中,咱们将学习 BeautifulSoup 库的根本用法。

一、BeautifulSoup 的装置与根本应用

首先,咱们须要应用 pip 命令来装置 BeautifulSoup 库,命令如下:

pip install beautifulsoup4

装置实现后,咱们就能够开始应用 BeautifulSoup 来解析网页了。首先,咱们须要导入 BeautifulSoup 类,而后应用 BeautifulSoup 类的构造方法创立一个 BeautifulSoup 对象,代码如下:

from bs4 import BeautifulSoup

html_doc = """<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>"""

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

print(soup.prettify())

二、网页元素的提取

BeautifulSoup 提供了一系列办法,让咱们能够轻松的提取出网页中的元素。例如,咱们能够应用 tag.name 属性获取标签的名字,tag.string属性获取标签内的字符串,应用 tag['attr'] 获取标签的属性,代码如下:

from bs4 import BeautifulSoup

html_doc = """<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>"""

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

title_tag = soup.title

print(title_tag.name)  # 输入:title
print(title_tag.string)  # 输入:The Dormouse's story

三、网页元素的查找

BeautifulSoup 提供了 findfind_all办法,让咱们能够轻松的查找到网页中的元素。例如,咱们能够查找到所有的 p 标签,代码如下:

from bs4 import BeautifulSoup

html_doc = """<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were</p>
"""soup = BeautifulSoup(html_doc,'html.parser')

p_tags = soup.find_all('p')

for p in p_tags:
    print(p.string)

四、CSS 选择器的应用

BeautifulSoup 还反对 CSS 选择器,咱们能够应用 select 办法来应用 CSS 选择器抉择元素,例如:

from bs4 import BeautifulSoup

html_doc = """<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were</p>
"""soup = BeautifulSoup(html_doc,'html.parser')

title_tag = soup.select('p.title')

for title in title_tag:
    print(title.string)

以上就是 BeautifulSoup 库的根本用法,通过 BeautifulSoup,咱们能够轻松地解析出网页中的元素,为网络爬虫提供弱小的反对。

正文完
 0