首页 > 其他 > 详细

爬虫使用无头浏览器

时间:2019-03-20 17:28:07      阅读:168      评论:0      收藏:0      [点我收藏+]


python + selenium + webdriver

chrome ff opera等浏览器都有webdriver提供。

可惜还是依赖selenium

以下以chrome为例。

1 centos7上安装chrome

centos6.5不支持。已无法安装现在的chrome

win10可以用。所以本地调试没有问题。

 

1. 配置yum

在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo

#vim /ect/yum.repos.d/google-chrome.repo

写入如下内容:

[google-chrome]

name=google-chrome

baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch

enabled=1

gpgcheck=1

gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

保存并退出:

1

2

1.按 ESC 退出编辑模式(回到命令模式)

2.输入 :wq! 保存并退出

 

2.安装google chrome浏览器

Google官方源安装:

1

#yum -y install google-chrome-stable

Google官方源可能在中国无法使用,导致安装失败或者在国内无法更新,可以添加以下参数来安装:  

1

#yum -y install google-chrome-stable --nogpgcheck

 

2 下载chromedriver

版本间并不兼容

 

3 python 下简单使用

from selenium import webdriver

 

#不指定路径会在环境变量里找

driver = webdriver.Chrome(‘/path/to/chromedriver‘)

driver.get(‘http://www.google.com/xhtml‘);

search_box = driver.find_element_by_name(‘q‘)

search_box.send_keys(‘ChromeDriver‘)

search_box.submit()

 

search_bot.get_attribute("outerHTML")

 

#窗口关闭

driver.quit()

4 无头模式

from selenium.webdriver.chrome.options import Options

chrome_options = Options()

chrome_options.add_argument(‘--headless‘)

driver = webdriver.Chrome(chrome_options=chrome_options,executable_path=‘D:\Program Files\chromedriver\chromedriver.exe‘)

 

centos7使用中的问题

安装chromevirtualbox的增强功能后无法再进入用户登录页面

网上说是GNOME的兼容性问题,进入终端yum upgrade后才能进。所用版本更新了大概1G,内核也升级了

注意需要切换到一个非root用户才能使用chromedriver,原因可能是chrome的启动策略要求非root用户,但是从打印的异常里是看不到这个原因的。。。

网上说到的其他可能是chromedriverchrome的版本对应关系

 

5 如何和pyspider对接

1 直接嵌入pyspider

2 python或者java启动一个独立的程序,提供rpc调用或者restapi

后者比较类似目前phantomjs的使用形式。

 

考虑并发性能,用springboot搭建,通过restapi访问,维持一个webdriver

池提供服务。

 

 

nodejs + puppeteer

谷歌官方提供的node库,通过devtools协议控制

1 安装

npm i puppeteer

 

安装自带chromium,由于墙的原因可能下载失败

 

爬虫使用无头浏览器

原文:https://www.cnblogs.com/maikatsura/p/10565989.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!