Python请求与robots.txt - python

我有一个供个人使用的脚本,该脚本可以抓取一些网站的信息,直到最近它还可以正常工作,但是似乎其中一个网站增强了它的安全性,我无法再访问其内容。

我正在使用带有请求的python和BeautifulSoup抓取数据,但是当我尝试通过请求获取网站的内容时,遇到了以下问题:

'<html><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"></head><iframe src="/_Incapsula_Resource?CWUDNSAI=9_4E402615&incident_id=133000790078576866-343390778581910775&edet=12&cinfo=4bb304cac75381e904000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 133000790078576866-343390778581910775</iframe></html>'

我做了一些研究,看来这是阻止我前进的原因:http://www.robotstxt.org/meta.html

有什么方法可以说服网站我不是恶意机器人?这是一个脚本,我每天只在一个源上运行大约1次,因此无论如何我都不会对它们的服务器造成负担。只是拥有脚本的人可以使事情变得容易:)

编辑:尝试切换到机械化方式并以这种方式忽略robots.txt,但我没有收到403禁止响应。我想他们已经改变了对报废的立场,还没有更新他们的服务条款。是时候去计划B了,除非任何人有其他想法,否则不再使用该网站。

参考方案

最有可能发生的事情是服务器正在检查user-agent并拒绝访问漫游器使用的默认user-agent

例如,requestsuser-agent设置为python-requests/2.9.1

您可以自己指定标题。

url = "https://google.com"
UAS = ("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1", 
       "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0",
       "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0",
       "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
       "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36",
       "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
       )

ua = UAS[random.randrange(len(UAS))]

headers = {'user-agent': ua}
r = requests.get(url, headers=headers)

如何在python中使用re从PT格式日期时间中提取分钟和秒 - python

如何从时间格式PT34M23S或PT32S中提取分钟和秒,并将其转换为总秒数?import re M= re.compile('[\d]+M') S= re.compile('[\d]+S') txt='PT32S' m=re.compile('[\d]+') s=re.comp…

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…