【发布时间】:2022-01-22 10:14:54
【问题描述】:
我正在尝试抓取该网站,但在网页抓取时我第一次遇到此代码时得到 403 代码,我真的不明白我必须做什么才能解决它。我想也许我可以使用 Selenium 来抓取页面,但我想知道是否有可能获得 AJAX 响应并获得 JSON 作为返回。如果无法获得退货,我能否解释原因?谢谢。
这是我的代码:
import requests
url = 'https://public-api.pricempire.com/api/item/loadGraph/14/1140'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
}
r = requests.get(url, headers=headers)
print(r.status_code)
cURL 失眠生成的代码
import requests
url = "https://public-api.pricempire.com/api/item/loadGraph/14/875"
payload = ""
headers = {
"authority": "public-api.pricempire.com",
"pragma": "no-cache",
"cache-control": "no-cache",
"sec-ch-ua": "^\^"
}
response = requests.request("GET", url, data=payload, headers=headers)
print(response.text)
前两次我运行它,它给了我状态 200,但之后它给了我 403,我试图找出原因,但我不知道。
【问题讨论】:
-
网站决定不想与您交谈。可能没有任何方法可以解释原因。
-
你知道为什么当我在浏览器中输入链接时它返回一个 JSON 但通过 Python 请求它却没有吗?我对这部分感到困惑。
-
可能它不喜欢您的用户代理或您的 IP 地址。