0. 前言
Selenium 的初衷是打造一款优秀的自动化测试工具,但是慢慢的人们就发现,Selenium 的自动化用来做爬虫正合适。我们知道,传统的爬虫通过直接模拟 HTTP 请求来爬取站点信息,由于这种方式和浏览器访问差异比较明显,很多站点都采取了一些反爬的手段,而 Selenium 是通过模拟浏览器来爬取信息,其行为和用户几乎一样,反爬策略也很难区分出请求到底是来自 Selenium 还是真实用户。
通过 Selenium 来做爬虫,不用去分析每个请求的具体参数,比起传统的爬虫开发起来更容易。Selenium 爬虫唯一的不足是慢,如果你对爬虫的速度没有要求,那使用 Selenium 是个非常不错的选择。
1. 安装和使用
1 | pip install selenium |
1.1 页面操作
1 | # 输入数据 |
2. 遇到的问题
2.1 ImportError: cannot import name ‘webdriver’
文件不能命名为selenium
2.2 Message: ‘chromedriver’ executable needs to be in PATH.
下载驱动 https://sites.google.com/a/chromium.org/chromedriver/downloads
2.3 Message: unknown error: cannot find Chrome binary
centos 安装 chrome
1
2
3wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum localinstall google-chrome-stable_current_x86_64.rpm
google-chrome --no-sandbox --version # 看到版本后去下载相关的driverubuntu 安装 chrome
1
2
3wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
google-chrome --no-sandbox --version