Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求,更改IP地址_Python_Http_Python Requests - Fatal编程技术网

Python请求,更改IP地址

Python请求,更改IP地址,python,http,python-requests,Python,Http,Python Requests,我正在使用以下Python代码为网站编写一个web scraper: import requests def scrape(url): req = requests.get(url) with open('out.html', 'w') as f: f.write(req.text) 它工作了几次,但是网站返回了一个错误的HTML页面(当我打开浏览器时,我有一个验证码要完成) 有没有一种方法可以避免这种“禁令”,例如更改IP地址?正如评论中已经提到的和您自己所

我正在使用以下Python代码为网站编写一个web scraper:

import requests

def scrape(url):
    req = requests.get(url)
    with open('out.html', 'w') as f:
        f.write(req.text)
它工作了几次,但是网站返回了一个错误的HTML页面(当我打开浏览器时,我有一个验证码要完成)


有没有一种方法可以避免这种“禁令”,例如更改IP地址?

正如评论中已经提到的和您自己所说的,更改IP可能会有所帮助。要轻松完成此操作,请查看vpngate.py:

链接中提供了一个How to


玩得开心

您可以在请求库中使用代理。你可以在两个不同的网站上找到一些免费的代理,比如和,但不是所有的都能正常工作,敏感信息不应该信任它们

例如:

proxy = {
    "https": 'https://158.177.252.170:3128',
    "http": 'https://158.177.252.170:3128' 
}
response=requests.get('https://httpbin.org/ip', proxies=proxy)

如果禁令是基于你的IP地址,那么是的,改变IP地址可能会解决这个问题,但这不是Python已经控制的。嗯,为了改变IP地址,你可以在不同的系统上用不同的IP地址运行完全相同的代码。如果你被禁止使用
,并且有验证码,那么网站的所有者可能不希望你删除他们的网站?为什么不尝试使用代理?这是一个很好的选择,我将尝试修改代码,使其更易于作为功能使用。这非常有用。我所做的是,我使用了免费代理网站的导出ip:port功能,并能够生成超过100个的列表。每次进行API查询时,我都会从该列表中随机选择,完全避免了费率限制!