手动一个个去下载 pdf 还是比较费时间的。如果能够批量下载文献,能够节约不少时间。

大概调研和尝试了一下,初步确定了以 sci-hub 为数据源,以 DrissonPage 为自动化工具的技术路线。

sci-hub 收录了很多论文,不过对于比较新的论文可能收录不全。但大部分情况下已经够用了。其网址多变(目前是https://sci-hub.se/),所以这个要作为代码中可以配置的变量。

DrissonPage是最近比较流行的一个浏览器自动化工具,说是比 selenium 要好使。由于这次要做的事情很简单,就是输入一个doi,下载一篇文献,也就是模拟我们日常的行为。所以就尝尝鲜。

环境准备

首先是要安装,pip install DrissionPage 即可。

然后要进行配置:

from DrissionPage import ChromiumOptions
edge_path = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
ChromiumOptions().set_browser_path(edge_path).save()

注意我使用的是 edge 浏览器,需要指定这个msedge.exe 的绝对路径,配置一次就行。这个 drissonpage的官方文档中都有详细说明。所以我只给出我自己的代码。

完整代码

该部分仅登录用户可见

实现效果

网页元素查找方法

浏览器中先按快捷键 Ctrl+Shift+I 查看源码,然后左上角有个工具,点击后移动到想查看的按钮上,然后右侧自动聚焦到其对应的源码,可以看到 id是 buttons,可以click。

最后修改:2024 年 08 月 21 日
请大力赞赏以支持本站持续运行!