使用BeautifulSoup 429错误使用Python进行Web抓取
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用BeautifulSoup 429错误使用Python进行Web抓取,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1868字,纯文字阅读大概需要3分钟。
内容图文
![使用BeautifulSoup 429错误使用Python进行Web抓取](/upload/InfoBanner/zyjiaocheng/703/cbce5fe52e304a57b1d94822fbf42f20.jpg)
我要说的是,我对使用Python进行Web抓取非常陌生.我正在尝试使用这些代码行来获取数据
import requests
from bs4 import BeautifulSoup
baseurl ='https://name_of_the_website.com'
html_page = requests.get(baseurl).text
soup = BeautifulSoup(html_page, 'html.parser')
print(soup)
作为输出,我没有得到预期的Html页面,但另一个Html页面说:行为不端的内容刮板
请使用robots.txt
您的IP已受到速率限制
要检查我写的问题:
try:
page_response = requests.get(baseurl, timeout =5)
if page_response.status_code ==200:
html_page = requests.get(baseurl).text
soup = BeautifulSoup(html_page, 'html.parser')
else:
print(page_response.status_code)
except requests.Timeout as e:
print(str(e))
然后我得到429(请求太多).
我该怎么做才能解决这个问题?这是否意味着我无法打印页面的Html,是否阻止我刮掉页面的任何内容?我应该转动IP地址吗?
解决方法:
如果你只是打了一次页面然后得到一个429,你可能不会打他们太多.您无法确定429错误是否准确,它只是他们的网络服务器返回的内容.我已经看到页面返回404响应代码,但页面很好,200个响应代码在合法丢失的页面上,只是一个配置错误的服务器.他们可能只是从任何机器人返回429,尝试将您的用户代理更改为Firefox,Chrome或“Robot Web Scraper 9000”,看看你得到了什么.像这样:
requests.get(baseurl, headers = {'User-agent': 'Super Bot 9000'})
宣称自己是机器人或
requests.get(baseurl, headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'})
如果您希望更多地模仿浏览器.如果你只是说你是机器人,有些网站会返回更好的可搜索代码,而其他网站则相反.它基本上是狂野的狂野西部,不得不尝试不同的东西.
如果你确实打了他们很多,你需要在两次通话之间睡觉.这是一个完全由他们控制的服务器端响应.您还需要调查您的代码如何与robots.txt进行交互,这是一个通常位于网络服务器根目录下的文件,其中包含您希望蜘蛛遵循的规则.
你可以在这里阅读:Parsing Robots.txt in python
抓住网络既有趣又充满挑战,只要记住,任何网站都可能因任何原因阻止您,您就是他们的客人.所以踏得很好:)
内容总结
以上是互联网集市为您收集整理的使用BeautifulSoup 429错误使用Python进行Web抓取全部内容,希望文章能够帮你解决使用BeautifulSoup 429错误使用Python进行Web抓取所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。