随着越来越多的web数据都是经过js处理的,对于爬虫来说就有这很大的难度,一般情我们使用selenium+phantomjs来去解析执行js,但是自2017 4月份后selenium不再维护phantojs接口,所以我么需要找一个替换的方式,好在chrome以及Firefox也提供了无界面操作方式。
Headless Browser是没有图形用户界面(GUI)的web浏览器,通常是通过编程或命令行界面来控制的。
Headless Browser可用于自动化可用性测试或测试浏览器交互。另外,如果内容是动态呈现的(比如通过Javascript),web抓取等传统的面向web的任务就很难做了。使用Headless Browser可以方便地访问这些内容,因为内容的呈现方式与完全浏览器中的内容完全相同。
使用方法1:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
my_driver = webdriver.Chrome(executable_path='./chromedriver',chrome_options = options)
driver.get("https://www.baidu.com")
使用方法2:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)
driver.get("https://www.baidu.com")
【注】在使用selenium前请自行下载chromedriver驱动。