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>
元素,也就是电影名称所在的元素。
如果电影名称不包含 “/” 符号,则打印电影名称。