📜  美丽的汤4 - Python(1)

📅  最后修改于: 2023-12-03 15:27:41.143000             🧑  作者: Mango

美丽的汤4 - Python

简介

Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库。它能够帮助我们解析网页并从中提取各种信息,例如链接信息、段落等等。

Beautiful Soup有4个版本,而"美丽的汤4"(Beautiful Soup 4,简称"BS4")是其最新版。它是一个非常强大和稳定的HTML解析库,目前已被广泛应用于网络爬虫和数据抓取等领域。

特点
  • BS4能够处理不规范的HTML或XML文档
  • 支持搜索和遍历文档树的方法非常灵活和强大
  • 支持CSS选择器和正则表达式等多种搜索方法
  • 能够识别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库,很容易上手且功能强大,特别适合用于网络爬虫、数据抓取等领域。推荐学习使用。