手动一个个去下载 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。
此处评论已关闭