我对python很新奇。我正在尝试为我正在开发的一个项目编写一个非常简单的网络抓取工具。在这个过程中,我正尝试使用Tor来更改我的IP地址,所以我不会断开与我正在进行的服务的连接。我试图在添加到我的项目之前测试特定于获取新IP的代码。这是我正在测试的代码。使用urllib2和Tor在python中拒绝连接
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: Traceback (most recent call last): File "scrapingTools.py", line 86, in main() File "scrapingTools.py", line 76, in main print urllib2.urlopen('http://ifconfig.me/ip').read() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen return _opener.open(url, data, timeout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 394, in open response = self._open(req, data) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 412, in _open '_open', req) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain result = func(*args) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1199, in http_open return self.do_open(httplib.HTTPConnection, req) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1174, in do_open raise URLError(err) urllib2.URLError:
任何理解正在发生的事情在这里将不胜感激帮助。
+1对于http://ifconfig.me/ip,我喜欢那样。 – pguardiario