在进行爬虫时,有时我们爬取的html和源文件所显示的不一样,此时我们需要使用selenium库来进行爬取。本文将详细介绍如何解决这个问题。
准备工作
1. 安装ChromeDriver
- step1:首先需要保证谷歌浏览器已经安装好并可以上网。在 帮助->关于谷歌中查看版本。
- step2:然后需要点击下载ChromeDriver,找到对应谷歌版本进行下载。
- step3:然后将下载好的文件中的 chromedriver.exe 文件直接放到Adaconda3/Scripts中(注意:该路径需要在环境变量中设置好的)
- step4:验证。在命令行中输入chromedriver,得到下图所示的结果即为安装成功。
2.安装PhantomJS
下载地址,找到对应的系统版本下载,配置过程同上,同样进行验证如下图即为安装成功。
3.安装GeckoDriver
- step1:首先需要确认已经安装 Firefox 浏览器并可以正常运行。
- step2:下载GeckoDriver,同样需要根据系统确定下载版本,如win10 64位系统下载的版本。
- step3:配置过程同安装ChromeDriver
- step4:验证。得到如下图所示即为安装成功
4.安装selenium
通过pip进行安装
pip3 install selenium
到此,准备工作已经完成。
开始实验
# 导入相应的驱动
from selenium import webdriver.Firefox
from selenium import webdriver.Chrome
from selenium import webdriver.PhantomJS
# 根据需要选择一个使用即可,用法类似
browser = Firefox()
# browser = PhantomJS()
# browser = Chrome()
# 对网址进行爬取
browser.get(url)
html = browser.page_source
# print(html)
此时得到的html和源文件中显示的是一样的。
参考文献
《Python3 网络爬虫开发实战》一书