繁体   English   中英

打印所有传入的 XHR 请求 python

[英]Print all incoming XHR requests python

我想从 URL 获取所有 XHR 请求。

当我检查站点和 go yo Network -> XHR 我看到多个 XHR 链接,我想在加载完成后全部获取它们。 我想我需要 selenium 和请求的组合。

我在 SO here上找到了以下代码,但它没有给我任何 output 并给我一个错误。

我寻找了其他问题,但似乎很多人都没有这个问题。

错误:

File "C:\ProgramData\Anaconda3\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting value

我的代码:

####   Gets all XHRs ####
import requests

url= "https://forsikringsguiden.dk/#!/"

headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36",
           "X-Requested-With" : "XMLHttpRequest",
           "Host" : "forsikringsguiden.dk",
           "Referer" : "https://forsikringsguiden.dk/"}

response = requests.get(url, headers=headers)

xhr = response.json()
print(xhr)

编辑:我需要在我的代码中添加任何参数吗?

您需要与网站维护人员协调。 他们将能够说出您需要发送哪些标头或参数才能获得 JSON 响应。 或者,如果他们甚至完全支持 JSON。

您的原始代码在实际返回 JSON 的 URL 的情况下有效:

import requests

url= "http://api.plos.org/search?q=title:DNA"

headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36",
           "X-Requested-With" : "XMLHttpRequest"}

response = requests.get(url, headers=headers)

xhr = response.json()
print(xhr)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM