You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网页抓取疑难:静态URL翻页数据获取方案咨询

解决无URL变化的拍卖数据批量抓取问题

当切换页面URL不变时,说明网站采用异步请求(AJAX)或表单提交加载数据,翻页参数(如页码、每页条数)通过请求体传递而非URL。以下是具体解决步骤:


1. 先抓包分析请求逻辑

打开浏览器开发者工具(F12),切换到Network标签:

  • 刷新目标页面,点击翻页按钮,观察新出现的请求(优先看XHR/Fetch类型)
  • 查看该请求的请求方法(POST/GET)、Form Data(或Query参数),重点记录页码参数(如pageNumber)、每页条数(如itemsPerPage),以及页面中可能存在的隐藏验证参数(如CFM页面的会话令牌)

2. 用requests+Pandas批量抓取(含BeautifulSoup辅助)

如果网站需要隐藏参数验证,BeautifulSoup用于提取页面中的必填字段;若无需验证,直接模拟请求即可。示例代码如下:

import requests
import pandas as pd
from bs4 import BeautifulSoup
import time

# 基础配置
base_url = "https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
}
total_items = 3000
items_per_page = 50  # 按实际抓包结果调整每页条数
total_pages = (total_items + items_per_page - 1) // items_per_page

# 初始化会话,保持Cookie
session = requests.Session()
initial_res = session.get(base_url, headers=headers)

# 提取页面隐藏参数(如果抓包发现需要)
soup = BeautifulSoup(initial_res.text, "html.parser")
# 示例:假设页面有__VIEWSTATE这类验证字段,实际以抓包结果为准
# viewstate = soup.find("input", {"name": "__VIEWSTATE"})["value"]

all_data = []

# 循环遍历所有页码
for page in range(1, total_pages + 1):
    # 构造请求参数(完全匹配抓包得到的Form Data)
    form_data = {
        "pageNumber": str(page),
        "itemsPerPage": str(items_per_page),
        # "__VIEWSTATE": viewstate  # 若有则添加
    }
    
    # 发送POST请求(若抓包显示是GET则用get方法)
    res = session.post(base_url, data=form_data, headers=headers)
    # 解析表格数据,保留你的清理逻辑
    df = pd.read_html(res.content, header=1)[0]
    df = df.drop([0,1,2])
    all_data.append(df)
    
    print(f"已完成第{page}/{total_pages}页抓取")
    time.sleep(1)  # 添加间隔,避免触发反爬

# 合并所有数据并保存
final_df = pd.concat(all_data, ignore_index=True)
final_df.to_csv("denver_auction_full_results.csv", index=False)

关键注意事项

  • 务必严格匹配抓包得到的请求参数和方法,缺失参数会导致请求失败
  • 加入请求间隔(如time.sleep(1)),避免被网站封禁IP
  • 如果遇到验证码或复杂反爬,可能需要结合Selenium模拟浏览器操作,但优先尝试上述轻量方案

内容的提问来源于stack exchange,提问作者James Ho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 19:03:30