我正在做一个项目来分析期刊文章是如何被引用的。我有一个很大的期刊文章名称文件。我打算将它们传递给 Google Scholar 并查看它们的引用次数。
这是我遵循的策略:
我有scholar.py 和tor 都成功设置和工作。我对 python 或库 urllib2 不是很熟悉,想知道需要对 Academic.py 进行哪些修改,以便通过 Tor 路由查询。
如果存在,我也愿意为大量谷歌学者查询提供一种更简单(并且可能相当不同)的方法的建议。
提前致谢
最佳答案
对我来说,使用 TOR 的最佳方法是 setting up a local proxy like polipo 。我喜欢克隆 repo 并在本地编译:
git clone https://github.com/jech/polipo.git
cd polipo
make all
make install
但是您可以使用您的包管理器(Mac 中为
brew install polipo
,Ubuntu 中为 apt install polipo
)。然后写一个简单的配置文件:echo socksParentProxy=localhost:9050 > ~/.polipo
echo diskCacheRoot='""' >> ~/.polipo
echo disableLocalInterface=true >> ~/.polipo
然后运行它:
polipo
见 urllib docs on how to use a proxy 。像许多 unix 应用程序一样, urllib 将遵守环境变量
http_proxy
:export http_proxy="http://localhost:8123"
export https_proxy="http://localhost:8123"
我喜欢使用 requests 库,这是一个更好的 urllib 包装器。如果你还没有它:
pip install requests
如果 urllib 使用 Tor,则以下单行应该打印 True:
python -c "import requests; print('Congratulations' in requests.get('http://check.torproject.org/').text)"
最后一件事,请注意:Tor 网络不是在 Internet 上做傻事的免费通行证,因为即使使用它,您也不应该假设您是完全匿名的。
关于python - 使用 tor 和 python 抓取 Google Scholar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11443600/