如何使用带urllib2的SOCKS 4/5代理下载网页?
我有以下脚本:
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
import urllib2
print(urllib2.urlopen("http://www.ifconfig.me/ip").read())
Run Code Online (Sandbox Code Playgroud)
使用tor和SocksiPy
现在我想为每个请求更改tor身份,例如:
for i in range(0, 10):
#somehow change tor identity
print(urllib2.urlopen("http://www.ifconfig.me/ip").read())
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
I'd like to use python to scrape google scholar search results. I found two different script to do that, one is gscholar.py and the other is scholar.py (can that one be used as a python library?).
Now, I should maybe say that I'm totally new to python, so sorry if I miss the obvious!
The problem is when I use gscholar.py as explained in the README file, I get as a result
query() takes at least 2 arguments (1 given) …
我正在开展一个项目来分析如何引用期刊文章.我有一个大型的期刊文章名称文件.我打算将它们传递给Google学术搜索,并查看每个引用的引用次数.
这是我遵循的策略:
使用http://www.icir.org/christian/scholar.html上的 "scholar.py" .这是一个预先编写的python脚本,可以搜索谷歌学者并以CSV格式返回首次点击的信息(包括引用次数)
谷歌学者在一定数量的搜索后阻止你(我有大约3000个文章标题要查询).我发现,大多数人使用Tor(如何通过Tor的在Python?让urllib2的请求,并防止自定义Web爬虫被封锁)来解决这个问题.Tor是一种服务,每隔几分钟就会为您提供一个随机IP地址.
我有scholar.py和tor成功设置和工作.我不熟悉python或库urllib2,并想知道scholar.py需要进行哪些修改,以便查询通过Tor进行路由.
我也很乐意为大众谷歌学者查询提供一种更容易(并且可能有很大差异)的方法,如果存在的话.
提前致谢
在阅读了StackOverflow上的其他 问题后,我得到了一段Python代码,可以通过Tor代理发出请求:
import urllib2
proxy = urllib2.ProxyHandler({'http':'127.0.0.1:8118'})
opener = urllib2.build_opener(proxy)
print opener.open('https://check.torproject.org/').read()
Run Code Online (Sandbox Code Playgroud)
由于Tor使用TorButton在Firefox中运行良好,我希望它能在Python中正常工作.不幸的是,包含在乱七八糟的HTML中:Sorry. You are not using Tor.我不确定为什么会这样,或者如何让Tor正常工作urllib2.