首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python请求速度慢,有403个响应

Python请求速度慢,有403个响应
EN

Stack Overflow用户
提问于 2022-01-08 15:20:13
回答 2查看 2.4K关注 0票数 1

为了从url获得JSON响应,我正在使用Cloduscraper库。问题是,在得到正确的输出之前,我必须重试同样的请求2-3次。第一个响应有一个403 HTTP状态代码。

这是我的代码:

代码语言:javascript
运行
复制
import json
from time import sleep
import cloudscraper

url = "https://www.endpoint.com/api/"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0",
    "Accept": "*/*",
    "Content-Type": "application/json"
}
json_response = 0
while json_response == 0:
    try:
        scraper = cloudscraper.create_scraper()
        r = scraper.get(url, headers=headers)
        json_response = json.loads(r.text)
    except:
        print(r.status_code)
        sleep(2)
return json_response

我能做些什么来优化我的代码并防止403个响应?

EN

回答 2

Stack Overflow用户

发布于 2022-01-21 10:13:43

您可以使用真正的浏览器来防止bot检测的某些部分,下面是使用playwright的示例

代码语言:javascript
运行
复制
import json

from playwright.sync_api import sync_playwright

API_URL = 'https://www.soraredata.com/api/players/info/29301348132354218386476497174231278066977835432352170109275714645119105189666'

with sync_playwright() as p:
    # Webkit is fastest to start and hardest to detect
    browser = p.webkit.launch(headless=True)

    page = browser.new_page()
    page.goto(API_URL)

    # Use evaluate instead of `content` not to import bs4 or lxml
    html = page.evaluate('document.querySelector("pre").innerText')

try:
    data = json.loads(html)
except:
    # Still might fail sometimes
    data = None

print(data)
票数 1
EN

Stack Overflow用户

发布于 2022-01-18 10:59:56

HTTP 403 Forbidden响应状态代码指示服务器理解请求,但拒绝授权请求。

如果您没有授权,我建议首先检查您发送请求的url是否需要任何类型的权限来授权请求。

然而,在第二次或第三次试验中,您确实会得到一个响应,所发生的情况是,一些服务器在返回答案之前需要几秒钟的时间,因此它们要求浏览器在提交响应之前等待大约5秒。

我建议添加一个延迟,它可以作为参数传递给create_scraper():

scraper = cloudscraper.create_scraper(delay=10)

如果它是成功的,那么减少延迟,直到它不能再减少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70633736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档