网络BS爬虫实验

root
abc abc
#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}")

代码解释

  1. 导入库

    • requests 用于发送 HTTP 请求。
    • BeautifulSoup 用于解析 HTML 内容。
  2. 设置目标 URL

    • url 变量存储你要抓取的网页的 URL。
  3. 发送 HTTP 请求

    • 使用 requests.get(url) 发送 GET 请求,并将响应存储在 response 对象中。
  4. 检查请求是否成功

    • 检查 response.status_code 是否为 200,表示请求成功。
  5. 解析 HTML 内容

    • 使用 BeautifulSoup(response.content, 'html.parser') 解析响应内容,并创建一个 BeautifulS
      oup 对象 soup
  6. 查找所有的 <h1> 标签

    • 使用 soup.find_all('h1') 查找所有的 <h1> 标签,并将结果存储在 h1_tags 列表中。
  7. 打印标签内容

    • 遍历 h1_tags 列表,并打印每个 <h1> 标签的文本内容。

更多示例

如果你想要提取其他类型的数据,比如所有的段落(<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)