您好我希望我的爬虫使用Pycurl来使用Tor。我怎样才能做到这一点?我知道如何使用httplib
来做到这一点proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"})
opener = urllib2.build_opener(proxy_support)
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
print opener.open('http://www.google.com').read()
请帮忙。
答案 0 :(得分:1)
在Ubuntu上,我能够使用 socks5 代理 tor 使 pycurl 工作:
import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, "http://whatismyipaddress.com/")
c.setopt(pycurl.PROXY, "127.0.0.1")
c.setopt(pycurl.PROXYPORT, 9050)
c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
c.perform()
不要忘记安装 tor
sudo apt-get install tor
要检查tor是否已启动,您可以运行网络监视命令:
sudo netstat -lnptu
其中有类似这样的输出。请注意 tor 位于 127.0.0.1:9050 套接字
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:49017 0.0.0.0:* LISTEN 2701/skype
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 1810/tor
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2187/dropbox