- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在从事一个分析期刊文章被引用方式的项目。我有一个很大的期刊文章名称文件。我打算将它们传递给 Google Scholar,看看每个都有多少引用。
这是我遵循的策略:
使用 http://www.icir.org/christian/scholar.html 中的“scholar.py” .这是一个预先编写的 python 脚本,用于搜索 google scholar 并以 CSV 格式返回第一次命中的信息(包括引用次数)
Google scholar 在搜索一定次数后屏蔽你(我有大约 3000 篇文章标题要查询)。我发现大多数人使用 Tor(How to make urllib2 requests through Tor in Python? 和 Prevent Custom Web Crawler from being blocked)来解决这个问题。 Tor 是一项每隔几分钟就会为您提供一个随机 IP 地址的服务。
我已经成功设置了 scholar.py 和 tor,并且可以正常工作。我对 python 或库 urllib2 不是很熟悉,想知道需要对 scholar.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
但是你可以使用你的包管理器(brew install polipo
在 mac 上,apt install polipo
在 Ubuntu 上)。然后编写一个简单的配置文件:
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 抓取谷歌学术搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443600/
对于我正在学习的类(class),我们正在手动实现 3DES 方案,这在纸面上非常简单(双 key ,使用 EDE 加密)。我选择了 Java 作为实现语言,但遇到了一个问题,即它如何使用不同的 ke
我正在上计算机安全类(class),我们的一项任务是对具有弱 key 的 DES 进行暴力破解。 我的代码: public static void main(String[] args) th
到目前为止我的代码是: public class TripleDES { /** * @param args the command line arguments * @t
到目前为止我的代码是: public class TripleDES { /** * @param args the command line arguments * @t
我正在尝试查找任何分析 Qt 和 Qt Creator 最新版本的研究/学术/期刊论文/文章。 具体来说,我试图从实时安全关键的角度评估 Qt,所以任何信息都是有帮助的。 附言我尝试了典型的搜索方法:
我在这里试图找到我在 Java 中的合并排序实现中的错误,但我的头发掉了: Input: 10 9 8 7 6 5 4 3 2 1 Output: 5 4 3 2 1 10 9 8 7 6
我正在使用graph search Microsoft 学术 API 检索论文的引文 ID 和引用 ID 的方法。然而,虽然检索引文 ID 有效,但引用 ID 字段始终为空,即使对于应该具有链接引用文
是否有任何好的方法/解决方法来获取学科和子字段层次结构信息? 例如,光学是物理学的子学科,它有 gem 学、光学物理学等子学科。哪个实习生可能有另一个子研究领域? 最佳答案 首先,使用 these i
我正在使用 Bootstrap 为生物医学工程 session 设计一个网站,但在针对移动设备进行配置时遇到了一些问题。 具体来说,在标题为 cochairs.html 的页面上,折叠的导航栏与其下方
我是一名优秀的程序员,十分优秀!