当前位置: 首页 > 知识库问答 >
问题:

Python-WebScraping使用请求模块-URL抛出错误-403-禁止

龙正初
2023-03-14

我试图从https://www.ecfr.gov/cgi-bin/ecfr?page=browse使用python中的请求模块获取数据

header = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 
"Accept-Encoding": "gzip, deflate, br", 
"Accept-Language": "en-US,en;q=0.9", 
"Cache-Control": "max-age=0", 
"Host": "httpbin.org", 
"Sec-Fetch-Dest": "document", 
"Sec-Fetch-Mode": "navigate", 
"Sec-Fetch-Site": "none", 
"Sec-Fetch-User": "?1", 
"Upgrade-Insecure-Requests": "1", 
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36", 
"X-Amzn-Trace-Id": "Root=1-5ef3288f-10e678d0e55c0670c0807730"}

r=requests.get(url,headers=header)

我还要求使用用户代理和头信息中的所有参数(我在开发人员工具中看到)。

我已经尝试使用免费代理/旋转用户头/cookie和我能得到的一切。但不知何故,网站能够知道我没有使用标题。

在html回应中--我看到那个网站要求完成验证码。

我能跳过吗?

共有1个答案

慕容坚
2023-03-14

通过检查http请求,我发现了cloudflare服务器响应跟踪:

Cloudflare或Screshield以其刮擦保护和安全级别而闻名。在这里阅读更多。

我能跳过吗?

>

  • 应用(插件)验证码解决服务。如果您使用唯一的python编码,这就不那么容易了。

    利用浏览器自动化,使ScrapeShield认为一个真正的用户浏览网站。它确实需要更多的资源和时间(包括开发时间)。参见Chromium headless实例自动化与裸http请求的刮擦速度比较表。

  •  类似资料:
    • 问题内容: 每当我尝试从数据库中获取用户信息时,都会收到-error 消息。关于下面的代码,每当我尝试通过按Ajax测试按钮尝试请求时,它都无法运行并给我发出警报,但是在控制台中也给我一个-error。我不确定是否与Spring安全性有关? 用户JSP页面: 用户控制器类: 问题答案: 它通常是由Spring默认的CSRF保护引起的。 例如,如果你使用JS代码中的DELETE HTTP请求,则还需

    • 问题内容: 我试图通过从slide_images文件夹中获取所有图像名称并将其附加到来动态地动态显示滑块图像。 问题答案: 最后,我通过使用json解决了这个问题。 首先,我创建getimages.php文件并读取该文件中的目录,并获取所有图像名称并将该名称存储在数组中。 getimages.php 从要动态加载图像的页面调用getimages.php。 index.php 这对我来说是完美的。

    • 我最近开始在Jmeter上工作,我的脚本失败了,出现了403错误代码。我正在使用Blazemeter录制的脚本,所以Cookie管理器是默认添加的。此外,如果我只是在浏览器上执行请求,它工作得很好。 HTTPSampleResult字段:ContentType:text/html数据编码:nu 请求主体获取https://www.tESTwEBSITEtOBEeNETERED.com.au/ena

    • 我正在尝试发出HTTP请求,但我目前可以从Firefox浏览器访问的网站响应503错误。代码本身非常简单。在网上搜索后,我添加了参数来请求,但也没有帮助。有人能解释一下如何摆脱这个503错误吗?顺便说一句,我想根据btc的价格制作自己的预警系统。

    • POST请求给出以下请求的禁止错误。 来自Google代码存档的代码https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/recaptcha/recaptcha-php-1.11.zip 函数调用如下 功能如下 请求和响应如下 HTTP\U请求=POST/recaptcha/api/sitev

    • 对localhost的Ajax请求返回403错误。然而,当我更改controller requestMethod以获取并在浏览器上打开请求“url”时,它会显示从服务器返回的json数据。我希望使用这些数据填充一个下拉列表。请帮帮我。我正在使用spring security 4.0和spring MVC框架。CSRF未禁用。此外,该url在Spring得到保护。 我在这里查看了相关问题,但没有找到