Python爬取Pakwheels二手车无法遍历分页 求代码问题排查
代码问题排查
- 分页参数范围错误:
range(10)生成的是0到9的整数序列,你的需求要求分页参数从page=1开始,这会导致第一页请求的是无效的page=0,且无法覆盖到第10页数据 - 逻辑缩进错误:页面解析、数据提取的所有代码都写在了分页循环的外部,仅会处理循环最后一次请求返回的页面内容,前面9次的请求结果全部被丢弃
修正后代码
import requests import pandas as pd from bs4 import BeautifulSoup # 加请求头避免被网站反爬拦截 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } url = "https://www.pakwheels.com/used-cars/search/-/?page=" all_data = [] # 分页范围调整为1到10,对应page=1到page=10 for page in range(1, 11): print('---', page, '---') r = requests.get(url + str(page), headers=headers) soup = BeautifulSoup(r.content, "html.parser") # 数据提取逻辑放到分页循环内部,每页请求后立即提取数据 for ul in soup.select("ul.search-vehicle-info-2"): car_name = ul.find_previous("h3").get_text(strip=True) info = [li.get_text(strip=True) for li in ul.select("li")] all_data.append([car_name, *info]) df = pd.DataFrame( all_data, columns=["Car Name", "Year", "KM", "Type", "CC", "Type 2"] ) print(df) df.to_csv("data.csv", index=False)
内容的提问来源于stack exchange,提问作者Abdurehman Dar
相关产品推荐
相关产品推荐

