0

在我的 python 项目中,我列出了被引用论文的列表,对于每篇论文,我都需要它的Author Nameand Abstractand Citation Countfrom谷歌学者。我用的是学术的。像这样的PyPI

search_pub = scholarly.search_pubs(paperName)
docInfo = next(search_pub)

但现在我收到了这个错误:

例外:无法从 Google Scholar 获取页面。

由于多个请求,他们似乎阻止了我的 IP。现在我找不到任何其他编程方式来提取这些信息。我可以有一个论文参考列表来提取数据。

任何人都可以帮助我使用任何 python 库或指导我为此编写一些代码吗?

4

2 回答 2

1

您可以等待此临时禁令到期并继续进行。确保time.sleep(...)在您的代码中插入一个或类似的内容以保持在他们的速率限制之下。Google Scholar 没有官方 API,因此如果这是您想要的数据,抓取是您唯一的选择。

(我不建议你刮,请注意谷歌学术通过他们的 robots.txt禁止机器人)

于 2020-06-13T21:51:46.163 回答
0

如果您查询太多或太频繁,Google Scholar 会阻止您的 IP。即使您让程序休眠,也不要让它定期休眠,因为它们也可以检测到。Google 将此视为 DoS(拒绝服务)攻击。即使您将睡眠时间随机化,在某一时刻,如果您进行太多查询,它也会标记您。一种解决方法是使用轮换代理服务。上网查一下,有很多免费的。他们为您提供用户代理字符串,如果您为您所做的每个查询随机放置这些字符串,那么您就可以放心了。

于 2021-04-28T13:15:48.363 回答