在练习爬网站的时候,会遇到一些问题:
1、代码都正确,本地解析出来没有具体内容;
2、浏览器源码看到的内容很多,解析出来只有一部分;
3、有些网页需要滚动鼠标才加载内容,就是所谓的动态加载。
这个时候,selenium进入我的视野,因为他能模拟浏览器操作,实现动态加载。
但是,我按照网上教程下载安装,始终都失败,然后又花费了几天的时间,都要崩溃了。。。
所幸今天终于运行成功,通过selenium打开了网页!!! 2024年1月12日 值得纪念的一天!
下面分享一下安装的经历,以及我踩的坑,可以直接去看总结部分。
首先是找chromedriver,我电脑谷歌浏览器的版本太高了,找不到chromedriver,因为我的谷歌浏览器装了很多插件又不想卸载重装浏览器,而我的edge浏览器,早在我之前重装系统的时候被我干掉了,现在想装edge也装不上,然后我的火狐浏览器也没有现成的驱动......
我根据网友教程去到chromedriver的下载地址基本都是支持测试版,而且谷歌的历史版本一点都不好找,找到了他还不一定有driver......
终于皇天不负有心人,找到了这个谷歌历史版本的网站:Chromium History 请好好收藏这个网站!进入这个网站,找到自己电脑版本,下面那里谷歌版本随便选一个顺眼的,点进去。我选的: 108.0.5322.0 进去以后下载两个文件:chrome-win.zip , chromedriver_win32.zip 见下图:
(ps: 我电脑64位,奈何提供的都是32位的,其实不影响,后面接着说。)
下载好文件后,chrome-win.zip 其实就是绿色版的谷歌浏览器,解压后放到你喜欢的地方就行,然后chromedriver_win32.zip 解压后里面的chromedriver.exe放到刚才谷歌浏览器文件夹。(放哪都行,但你要记住,我放在一起是方便自己)
selenium 安装的话就: pip install selenium
配置环境变量:最好是用户和系统的配置上去。我的浏览器文件夹是:C:\chrome,所以我的环境变量是这样的,参考下图。
环境变量配置成功的测试方式:去命令提示符运行chromedriver,看看有无提示,参考下图。
# 代码1
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") # 打开百度网页
# 代码2
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
driver_path = 'C:/chrome/chromedriver.exe' # 指定驱动位置
service = Service(executable_path=driver_path)
driver = webdriver.Chrome()
driver.get("https://www.baidu.com") # 打开网页
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for MicrosoftEdge using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location