需求:
爬取需要登录系统才能访问页面,且知道系统登录账号
解决方法:
参考:https://blog.csdn.net/qq_39835505/article/details/124712410 感谢博主!
自己打开Chrome浏览器,登录系统,使用chromedriver调用已开的Chrome浏览器打开自动下载链接进行文件下载
解决步骤:
1、对照自己的Chrome浏览器版本,下载浏览器驱动(Chromedriver)
2、打开调试Chrome浏览器窗口,打开系统网页并进行登录,然后以chromedriver在调试浏览器窗口打开自动下载链接。
打开调试浏览器窗口方法如下,
2.1 以CMD命令,启动本地Chrome浏览器
# 找到本地安装的Chrome浏览器的启动文件(cheome.exe)所在位置,我的笔记本: C:\Users\gxq_2\AppData\Local\Google\Chrome\Application> # 在该文件夹下打开cmd窗口,执行以下命令 chrome --remote-debugging-port=9222
2.2 调用chromedriver在已打开的调试Chrome浏览器进行下载操作
from selenium import webdriver from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "D:/chromedriver-win64/chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
driver.get(url) # url为自动下载链
博主还提供了另一种解决方法(由于上述步骤可行,我未测试以下方法)
chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" # 浏览器 chromedriver.exe 目录 driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options) driver.get('www.baidu.com')
再次感谢博主!