【Web Scraping】一个小 demo

import requests
from bs4 import BeautifulSoup

headers = {
    
    
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.63"
}
count = 0
for start_num in range(0, 250, 25):
    response = requests.get(f"https://XXXXXX.com/top250?start={
      
      start_num}", headers=headers)
    html = response.text
    soup = BeautifulSoup(html, "html.parser")
    all_titles = soup.findAll("span", attrs={
    
    "class": "title"})
    for title in all_titles:
        title_string = title.string
        if "/" not in title_string:
            print(title_string)
            count = count + 1

print("\n")
if count == 250:
    print("恭喜你全部爬取成功啦!")

导入 requests 模块,用于向网页发送请求并获取响应。

导入 BeautifulSoup 模块,用于解析 HTML 文档。

headers = {...} 定义一个字典类型的变量 headers,用于存储请求头信息。请求头信息中包含了 User-Agent 字段,用于模拟浏览器发送请求。

定义变量 count,用于计算爬取到的电影数量。

for 循环,每次循环爬取一页电影数据。start_num 表示当前页的起始电影编号,范围是0到250,步长为25,即每页有25部电影。

requests.get():发送请求,获取当前页的HTML 文档。

html = response.text:获取响应的 HTML 文本内容,并将其存储在变量 html 中。

soup = BeautifulSoup(html, "html.parser") 使用 BeautifulSoup 解析 HTML 文档,并将结果存储在变量soup 中。

使用 findAll 方法查找所有包含电影名称的 HTML 元素。这里查找所有 class 属性为 “title” 的 <span> 元素,也就是电影名称所在的元素。

如果电影名称不包含 “/” 符号,则打印电影名称。

猜你喜欢

转载自blog.csdn.net/weixin_46803857/article/details/129468196