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

无需Selenium爬取盖茨黑德议会网站垃圾收集日期方法咨询

不用Selenium爬取盖茨黑德议会垃圾收集日期的方法

步骤1:获取会话Cookie

打开目标页面,按F12调出开发者工具,切换到「Application」面板,在左侧「Cookies」栏找到网站域名,记下ASP.NET_SessionId的Cookie值——这就是后续请求必需的会话标识,所有接口请求都得带上它。

步骤2:定位地址搜索API接口

在页面输入一个本地地址关键词(比如常见街道名)并点击搜索,同时切到开发者工具的「Network」面板,筛选「XHR」类型请求,找到带地址搜索逻辑的请求(URL里通常会有AddressSearch这类关键词)。

重点记录这个请求的:

  • 请求方法(大多是POST)
  • 完整请求URL
  • 请求体格式(Form Data或JSON,包含你输入的地址关键词)
  • 请求头里的Cookie字段(需包含ASP.NET_SessionId)

步骤3:请求地址列表,提取目标地址ID

用Python的requests库或curl发送地址搜索请求,拿到返回的地址列表后,从中找到你需要的地址对应的唯一ID(字段名可能是Uprn或Id)。

示例Python代码:

import requests

# 初始化会话,自动获取会话Cookie
session = requests.Session()
session.get("https://www.gateshead.gov.uk/article/3150/Bin-collection-day-checker")

# 发送地址搜索请求,替换成你找到的真实接口URL
search_url = "https://www.gateshead.gov.uk/xxx/AddressSearch"
payload = {"searchTerm": "你的目标地址关键词"}
response = session.post(search_url, json=payload)

# 解析返回的地址数据,提取目标地址ID
addresses = response.json()
target_address_id = addresses[0]["Uprn"]  # 根据实际返回结果调整索引和字段名

步骤4:请求垃圾收集日期数据

回到「Network」面板,找到选择地址后加载收集日期的请求,记录其URL、请求方法和携带地址ID的请求体,然后发送请求获取数据。

示例Python代码:

# 替换成真实的收集日期接口URL
collection_url = "https://www.gateshead.gov.uk/xxx/GetCollectionDates"
payload = {"uprn": target_address_id}
collection_response = session.post(collection_url, json=payload)

# 解析并输出收集日期
collection_dates = collection_response.json()
for item in collection_dates:
    print(f"{item['BinType']} 下次收集日期: {item['NextCollectionDate']}")

注意事项

  • 会话Cookie可能过期,如果请求失败,重新访问页面获取新的ASP.NET_SessionId即可。
  • 控制请求频率,避免触发网站反爬限制。
  • 部分接口可能需要额外请求头(比如Referer、X-Requested-With),可从开发者工具的请求头里复制补充到代码中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:02:40