我对python很陌生。我正在尝试为我正在从事的项目编写一个非常简单的网络爬虫。在此过程中,我尝试使用 Tor 更改我的 IP 地址,这样我就不会与我正在抓取的服务断开连接。在将其添加到我的项目之前,我试图测试特定于获取新 IP 的代码。这是我正在测试的代码。
from TorCtl import TorCtl
import urllib2
for i in range(1,51):
proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"} )
opener = urllib2.build_opener(proxy_support)
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib2.install_opener(opener)
print "IP " + str(i) + ":"
print urllib2.urlopen('http://ifconfig.me/ip').read()
conn = TorCtl.connect(controlAddr="127.0.0.1", controlPort=9051, passphrase="torPass")
conn.sendAndRecv('signal newnymrn')
conn.close()
当我这样做时,我收到以下错误:
IP 1:回溯(最近一次调用最后):文件“scrapingTools.py”,第 86 行,在 main() 文件“scrapingTools.py”,第 76 行,在主打印中 urllib2.urlopen('http://ifconfig.me /ip').read() 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 126 行,在 urlopen 返回 _opener.open(url, data,超时)文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第394行,打开响应= self._open(req,data)文件“/System/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 412 行,在 _open '_open', req) 文件中“/System/Library/Frameworks/Python.framework/Versions/2.7 /lib/python2.7/urllib2.py”,第 372 行,在 _call_chain 结果 = func(*args) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 1199 行,在 http_open 返回 self.do_open(httplib.HTTPConnection , req) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 1174 行,在 do_open 中引发 URLError(err) urllib2.URLError:
任何帮助理解这里发生的事情将不胜感激。