公司的爬虫项目使用了selenium+phantomjs,这个做过爬虫的应该都用过,但是缺点也很明显,慢,占用资源等,本身还有很多小坑就不一一列举了
后来无意中发现了headless,
参考这篇文章:https://intoli.com/blog/making-chrome-headless-undetectable/
经过安装测试,效果确实比phantomjs好很多,目前已有的资料都是使用nodejs,python相关的资料不多,只能等大佬们整理了。
这里记录一下安装的过程
需要V59以上版本
下载地址:https://www.landiannews.com/archives/36966.html
selenium调用需要使用到
下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads
下载安装chromedriver
mkdir chrome
cd chrome
wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
cd
vi .bashrc #添加环境变量
export PATH=/home/username/chrome:$PATH #在最后一行添加后保存退出
source ~/.bashrc #立即生效
下载安装chrome
wget https://dl.lancdn.com/landian/software/chrome/m/60.0.3112.90_amd64.deb
sudo apt -f -y install
sudo dpkg -i 60.0.3112.90_amd64.deb
调试安装结果
新建一个.py文件
# coding=utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
url="http://news.163.com/"
chrome_options = Options()
# specify headless mode
chrome_options.add_argument("--headless")
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.set_page_load_timeout(300)
browser.set_script_timeout(300)
browser.get(url)
title=browser.find_elements_by_xpath('//div[@id="js_top_news"]/h2/a')
print title[0].get_attribute('innerHTML')
browser.quit()