BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据。它创建了一个解析树,从中你可以提取和操作数据。以下是如何使用 BeautifulSoup 提取 HTML 中的特定代码块。
html.parser
,还有 lxml
和 html5lib
等。假设你想从一个网页中提取位于 <div>
标签中的特定内容,其中这个 <div>
标签有一个特定的类名。
from bs4 import BeautifulSoup
import requests
# 获取网页内容
url = 'http://example.com'
response = requests.get(url)
html_content = response.text
# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 查找特定的 <div> 标签
div_element = soup.find('div', class_='your-class-name')
# 提取 <div> 中的文本
if div_element:
middle_code = div_element.get_text()
print(middle_code)
else:
print('没有找到指定的 <div> 标签')
原因:网页的编码可能不是 UTF-8,导致解析时出现乱码。
解决方法:
response.encoding = response.apparent_encoding
原因:可能是类名、ID 或标签名错误,或者网页结构发生了变化。
解决方法:
请注意,网络请求可能会受到网站的反爬虫策略影响,实际使用时需要考虑相应的处理措施。
领取专属 10元无门槛券
手把手带您无忧上云