[ ] 程序目的是为了获得指定网站上所有pdf的链接,然后逐个下载。
[ ] 程序框架参考的链接如下:
https://www.jianshu.com/p/83ab33037b84?from=timeline&isappinstalled=0
[ ] 关于selenium的安装,请自行百度。如果有问题可以私信我。chrome测试可行,注意驱动版本对应好。
[ ] 程序的基本步骤:
- 点击下载按钮;
- 开始下载,下载完成;
- 回到列表页面;
- 点击下一个文献,继续下载;
- 完成这一个页面的下载流程后,点击下一页,重复上述过程。
[ ] 但是这个源程序打开chrome/firefox一直无法自动下载,因此整合多个网上的方法,得到如下的代码,经过多台电脑测试,可用。
[ ] 最终的解决方案是采用chrome无头模式,即不打开浏览器直接后台下载。代码如下:
import os
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def browser_init(isWait):
options = webdriver.ChromeOptions()
prefs = {
'profile.default_content_settings_popups': 0,
'download.default_directory': 'd:\\temp\\'
}
options.add_experimental_option