Python 使用代理请求库 - 获取请求仍然发送我自己的 IP

Python Requests library with proxies - Get request still send my own IP

我正在尝试为我的研究项目做一些网络抓取。不幸的是,我需要尝试抓取 Google Scholar 的一些数据,这阻止了我的请求。我已经尝试使用(多个)http 代理,但我的请求在 ~300 次尝试后仍然被阻止。

被阻止请求的结果 html 包含:

 IP address: 145.109...<br/>Time: 2016-05-05T09:23:37Z<br/>URL: 
 https://scholar.google.nl/citations?hl=en&amp;view_op=search_authors
 &amp;mauthors=Perry<br/>

上面的 IP 是我自己的,而我的代理 dict(它从列表中随机选择一个代理)并获取请求如下所示:

proxies = {'http': 'http://<username>:<password>@107.182....:<port>'}

result = requests.get('https://scholar.google.nl/citations?hl=en&         
                      amp;view_op=search_authors&amp;mauthors=Perry',
                      proxies=proxies, headers=headers)

的IP当然是有效的,我自己的IP不在代理列表中。我做错了什么吗?

编辑:为了完整起见,我也尝试过像 this 回答建议那样设置身份验证,但结果是一样的。

在您的 proxies 字典中,url 方案与您用于请求的方案不匹配,您使用 http 条目作为代理,然后创建一个https 请求。如果您为 https 方案广告代理,那么它应该可以工作。