📅  最后修改于: 2023-12-03 15:27:41.143000             🧑  作者: Mango
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库。它能够帮助我们解析网页并从中提取各种信息,例如链接信息、段落等等。
Beautiful Soup有4个版本,而"美丽的汤4"(Beautiful Soup 4,简称"BS4")是其最新版。它是一个非常强大和稳定的HTML解析库,目前已被广泛应用于网络爬虫和数据抓取等领域。
安装beautifulsoup4:
pip install beautifulsoup4
导入模块:
from bs4 import BeautifulSoup
使用方法:
# 指定解析器
soup = BeautifulSoup(html_text, 'html.parser')
# 查找标签
soup.find('tag')
soup.find_all('tag')
# 搜索指定属性
soup.find_all('tag', {'attribute': 'value'})
# 遍历文档树
for child in soup.recursiveChildGenerator():
print(child)
# 获取标签属性
tag['attribute']
# 获取标签文本
tag.text
更多使用方法和示例可查看Beautiful Soup文档。
下面是一个简单的Beautiful Soup代码片段,用于爬取知乎首页的热门问题:
import requests
from bs4 import BeautifulSoup
url = 'https://www.zhihu.com/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
hot_items = soup.find_all('a', {'class': 'HotItem-title'})
for item in hot_items:
title = item.text
link = item['href']
print('{}\n{}'.format(title, link))
输出:
远洋露营是怎样的一种体验?有哪些推荐的营地?...
https://www.zhihu.com/question/389451467
你们用过的行程APP都有哪些方便好用,易上手...
https://www.zhihu.com/question/389340208
如何看待让高校严禁教师把“低俗文化”引进课...
https://www.zhihu.com/question/389452277
持久化引擎和消息队列的应用场景有哪些?
https://www.zhihu.com/question/389529701
...
Beautiful Soup是一个非常实用的Python库,很容易上手且功能强大,特别适合用于网络爬虫、数据抓取等领域。推荐学习使用。