环境要求:python3+以上版本
一、Selenium(转载:https://cuiqingcai.com/5141.html)
Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取方式非常有效。下面我们来看看Selenium的安装过程。
1. 相关链接
- 官方网站:http://www.seleniumhq.org
 - GitHub:https://github.com/SeleniumHQ/selenium/tree/master/py
 - PyPI:https://pypi.python.org/pypi/selenium
 - 官方文档:http://selenium-python.readthedocs.io
 - 中文文档:http://selenium-python-zh.readthedocs.io
 
2. pip安装
这里推荐直接使用pip安装,执行如下命令即可:
sudo pip3 install selenium
但这样做还不够,因为我们还需要用浏览器(如Chrome、Firefox等)来配合Selenium工作。
后面我们会介绍Chrome、Firefox、PhantomJS三种浏览器的配置方式。有了浏览器,我们才可以配合Selenium进行页面的抓取。
具体安装步骤可以参考该链接https://cuiqingcai.com/5135.html
三、GeckoDriver的安装
具体安装步骤可以参考该链接https://cuiqingcai.com/5153.html
四、PhantomJS的安装
具体安装步骤可以参考该链接https://cuiqingcai.com/5159.html
但在该步骤中,由于selenium停止对PhantomJs的支持了,需要使用headless模式,例如这样:
代码:
from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)
报错:
 UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
  warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
https://www.baidu.com/
headless模式使用:
from selenium import webdriver
#火狐 headless模式
firefox = webdriver.FirefoxOptions()  #实例化
# firefox.set_headless()  
firefox.add_argument('--headless')   #使用sed_headless或者add_argument都可以
br = webdriver.Firefox(firefox_options=firefox)
br.get('https://www.baidu.com/')
print(br.current_url)
#谷歌 headless模式
chrome = webdriver.ChromeOptions()
chrome.set_headless()
# chrome.add_argument('--headless')
br = webdriver.Chrome(options=chrome)
br.get('https://www.baidu.com')
print(br.current_url)
来源:https://www.cnblogs.com/watchslowly/p/9091107.html