Python无法抓取网页XHR元素问题求助
提取目标XHR接口的JSON数据
步骤1:确认XHR请求的完整信息
打开浏览器开发者工具(F12),切换到Network标签页,刷新目标页面后找到名称以Consultazione?开头的XHR请求,记录以下关键信息:
- 完整请求URL(包含所有查询参数)
- 请求方法(GET/POST)
- 请求头(重点保留
User-Agent、Referer、Cookie,部分网站可能需要Authorization等其他字段) - 若为POST请求,需记录请求体(Form Data或JSON格式)
步骤2:用Python请求接口获取JSON
使用requests库发送请求,以下是通用示例(根据抓包结果调整参数):
import requests # 替换为抓包得到的完整请求URL target_url = "https://certificatoricreditors.mimit.gov.it/Consultazione?[你的查询参数]" # 替换为抓包得到的请求头 request_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", "Referer": "https://certificatoricreditors.mimit.gov.it/Consultazione", "Cookie": "[抓包获取的Cookie内容]" } # 根据请求方法选择对应逻辑 resp = requests.get(target_url, headers=request_headers) # 若为POST请求,替换为以下代码(根据请求体格式调整) # post_data = {} # 替换为抓包得到的请求体数据 # resp = requests.post(target_url, headers=request_headers, json=post_data) # 处理响应 if resp.status_code == 200: try: result_json = resp.json() print("获取到的JSON数据:") print(result_json) # 可选:保存到本地文件 # import json # with open("consultazione_data.json", "w", encoding="utf-8") as f: # json.dump(result_json, f, ensure_ascii=False, indent=4) except ValueError: print("响应不是有效的JSON格式") else: print(f"请求失败,状态码:{resp.status_code},响应内容:{resp.text}")
注意事项
- Cookie可能会过期,若出现403/401等状态码,需重新抓包获取最新Cookie
- 若网站有反爬机制,可尝试添加
Accept、Accept-Language等请求头字段,或使用requests.Session()保持会话 - 若请求参数包含动态生成的字段(如timestamp、signature),需分析页面JS逻辑生成对应参数
内容的提问来源于stack exchange,提问作者Federicofkt
相关产品推荐
相关产品推荐

