文档章节

爬虫使用无头浏览器

o
 osc_y8yehimr
发布于 2019/03/20 16:52
字数 546
阅读 23
收藏 0

精选30+云产品,助力企业轻松上云!>>>


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,由于墙的原因可能下载失败

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
linux 环境下 Java 运行 selenium 无界面 chrome 环境设置

前言 《Java 中使用 selenium 和 chrome 浏览器下载动态网页》 一文中,演示了如何在 window 环境下通过 selenium 和 chrome 来下载动态网页。但是我们的爬虫一般是运行在 linux 服务器上的。...

osc_br82o7vz
2019/08/04
19
0
无头浏览器 Puppeteer 初探

作者简介 轻声 蚂蚁金服数据前端 我们日常使用浏览器的步骤为:启动浏览器、打开一个网页、进行交互。而指的是我们使用脚本来执行以上过程的浏览器,能模拟真实的浏览器使用场景。 有了无头浏...

蚂蚁金服ProtoTeam
2017/10/17
0
0
Puppeteer 初探

我们日常使用浏览器或者说是有头浏览器时的步骤为:启动浏览器、打开一个网页、进行交互。 无头浏览器指的是我们使用脚本来执行以上过程的浏览器,能模拟真实的浏览器使用场景。 有了无头浏览...

赖小赖小赖
2017/10/19
0
0
无头浏览器

我们日常使用浏览器的步骤为:启动浏览器、打开一个网页、进行交互。而指的是我们使用脚本来执行以上过程的浏览器,能模拟真实的浏览器使用场景。 有了无头浏览器,我们就能做包括但不限于以...

mifans
2017/10/20
71
0
爬虫之图片懒加载技术、selenium工具与PhantomJS无头浏览器

2.1 selenium简介 2.2 selenium安装 2.3 selenium简单使用   2.3.1 selenium使用案例 2.3.2 selenium创建浏览器 2.3.3 selenium节点交互 2.3.4 selenium页面源码获取 2.3.5 selenium元素标...

osc_7er18k9i
2019/08/08
4
0

没有更多内容

加载失败,请刷新页面

加载更多

2020年中国数据存储容量最大单,杉岩数据中标2EB

【全球财经观察 | 新闻速递】这个是猛料!2020年中国数据存储容量第一单:2EB,被杉岩数据中标。具体为中标某省数据中心云存储资源池的2EB容量级分布式存储项目,由20万块磁盘打造的超级海量...

osc_n08oztl3
10分钟前
0
0
不看一下TOP20的云排名,你都不好意思说自己懂云

不看一下TOP20的云排名,你都不好意思说自己懂云 《2019年中国公有云厂商发展状况白皮书》 第二部分 2019年中国公有云厂商整体发展状况概述 既然TOP5排名、TOP10排名出现了新状况,那么2019年...

osc_p1q9onsn
12分钟前
0
0
maven标准settings文件【转载】

<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://......

LifeCode520
13分钟前
7
0
使用 export timeout = -1来免除ssh时间过长被强制下线的困扰

长时间连接ssh没有操作,可能会被强制下线,这时候,我们使用以下命令就可以免除次困扰: export timeout = -1,便不再会被强制下线了。 有的人写攻略说要写入conf配置文件里,这样确实不用每...

osc_sb30h1xb
13分钟前
7
0
实用性网站大全

本文阅读仅需三分钟,希望这篇帖子对您有帮助 大多数人不是一开始就是大神、大牛的,都是从菜鸟阶段过来的,所以咱们得沉得住气,低调沉稳的打磨,因为我很赞同郭德纲的那句话:没成功之前,...

osc_cdixgndu
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部