#pip install beautifulsoup4 import requests from bs4 import BeautifulSoup # 目标 URL url = 'https://www.jd.com' # 发送 HTTP 请求获取网页内容 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 使用 BeautifulSoup 解析网页内容 soup = BeautifulSoup(response.content, 'html.parser') # 查找所有的 <h1> 标签 h1_tags = soup.find_all('h1') # 打印所有找到的 <h1> 标签的内容 for tag in h1_tags: print(tag.text) divs = soup.select('a.cate_menu_lk') # 打印所有找到的 <div> 标签的内容 for div in divs: print(div.text) else: print(f"请求失败,状态码: {response.status_code}")
导入库:
requests
BeautifulSoup
设置目标 URL:
url
发送 HTTP 请求:
requests.get(url)
response
检查请求是否成功:
response.status_code
解析 HTML 内容:
BeautifulSoup(response.content, 'html.parser')
soup
查找所有的 <h1> 标签:
<h1>
soup.find_all('h1')
h1_tags
打印标签内容:
如果你想要提取其他类型的数据,比如所有的段落(<p> 标签),你可以这样做:
<p>
# 查找所有的 <p> 标签 p_tags = soup.find_all('p') # 打印所有找到的 <p> 标签的内容 for tag in p_tags: print(tag.text)
或者如果你想提取特定类别的元素,可以使用 CSS 选择器:
# 查找所有 class 为 "example-class" 的 <div> 标签 divs = soup.select('div.example-class') # 打印所有找到的 <div> 标签的内容 for div in divs: print(div.text)
代码解释
导入库:
requests用于发送 HTTP 请求。BeautifulSoup用于解析 HTML 内容。设置目标 URL:
url变量存储你要抓取的网页的 URL。发送 HTTP 请求:
requests.get(url)发送 GET 请求,并将响应存储在response对象中。检查请求是否成功:
response.status_code是否为 200,表示请求成功。解析 HTML 内容:
BeautifulSoup(response.content, 'html.parser')解析响应内容,并创建一个 BeautifulSoup 对象
soup。查找所有的
<h1>标签:soup.find_all('h1')查找所有的<h1>标签,并将结果存储在h1_tags列表中。打印标签内容:
h1_tags列表,并打印每个<h1>标签的文本内容。更多示例
如果你想要提取其他类型的数据,比如所有的段落(
<p>标签),你可以这样做:或者如果你想提取特定类别的元素,可以使用 CSS 选择器: