chrome 无头浏览器的使用
在linux服务器上安装chrome :
ubuntu:
下载页面https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载
sudo apt-get install libxss1 libappindicator1 libindicator7 安装依赖
sudo dpkg -i google-chrome*.deb 这条语句可能报错,下条命令将修复它
sudo apt-get install -f
google-chrome 查看版本号
centos:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 下载
yum localinstall google-chrome-stable_current_x86_64.rpm 在当前目录下使用本地安装,yum会自动分析依赖,完成安装
headless chrome的基本操作:https://developers.google.com/web/updates/2017/04/headless-chrome
启用无头chrome访问网页并打印页面 --dump-dom用于打印页面的document.body.innerHTML到标准输出:
chrome --headless --disable-gpu --dump-dom https://www.baidu.com/
截取网页截图, --screenshot 将会截取网页截图并保存为当前目录的screenshot.png文件:
chrome --headless --disable-gpu --screenshot --window-size=1280,1696 https://www.baidu.com
使用代理 --proxy-server=http://ip:port 访问页面,并保存截图
chrome --headless --disable-gpu --screenshot --proxy-server=socks5://127.0.0.1:1080 https://www.google.com
python通过selenium使用chrome headless :
下载chromedriver, 页面地址 http://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/
由于安装的chrome是 71.0.3578.98版本的,选了个最接近的chromedriver。
wget http://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/chromedriver_linux64.zip
在window上解压后将chromedriver文件上传到/usr/bin/目录下
pip install selenium
代码示例:
from selenium import webdriver
PROXY='http://ip:port' #或 PROXY=’socks5://ip:port'
my_options=webdriver.ChromeOptions()
my_options.add_argument('--headless') #添加无头参数
my_options.add_argument('--disable-gpu') #添加无头参数
my_options.add_argument('--no-sandbox') #添加无头参数
#my_options.add_argument('lang=zh_CN.UTF-8')
my_options.add_argument('--allow-running-insecure-content') #设置proxy时添加的额外参数,允许不安全的证书
my_options.add_argument('--ignore-certificate-errors') #设置proxy时添加的额外参数,允许不安全的证书
my_options.add_argument("user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'") #设置用户代理
caps = DesiredCapabilities.CHROME.copy()
caps['proxy']={'httpProxy':PROXY, #添加代理IP proxy
'ftpProxy':PROXY,
'sslProxy':PROXY,
'noProxy':None,
'proxyType':'MANUAL',
'class':'org.openqa.selenium.Proxy',
'autodetect':False}
caps['acceptSslCerts'] = True #设置允许不安全的证书
caps['acceptInsecureCerts'] = True
bs=webdriver.Chrome(chrome_options=my_options,executable_path='/usr/bin/webdriver',desired_capabilities=caps)
bs.get('https://www.baidu.com')
chrome_options : ChromeOptions()对象
executable_path : chromedriver的绝对路径
desired_capabilities :一般为对应浏览器的DesiredCapabilities的copy(),避免更改默认设置
本地shadowsocks安装 pip install shadowsocks
配置shadowsocks连接参数 ,创建文件shadowsocks.json
{
"server":"153.234.1.5",
"server_port":1108,
"local_address": "0.0.0.0",
"local_port":1018
"password":"sdsewedxxf#",
"timeout":300,
"method":"chacha20",
"fast_open": false
}
启动shadowsocks客户端 sslocal -c shadowsocks.json -d start
-d 表示后台启动, -c表示使用文件shadowsocks.json中的配置
chrome 无头浏览器的使用的更多相关文章
- webdriver(chrome无头浏览器)
'''chrome无头浏览器''' from selenium.webdriver.chrome.options import Options # 导入相应的类 from selenium impor ...
- selenium 无头浏览器headless browser
无头浏览器,即没有界面的浏览器,浏览器该有的功能特性都有. if browser.lower() == "chrome": # 无头浏览器 chrome_opt = webdriv ...
- Selenium 启动无头浏览器,只有chrome 和 firefox的,没有IE
使用无头浏览器,可以避免掉不确定的弹出框对脚本稳定性的影响,还能在脚本执行过程中省略掉了css 加载的时间. 以下是Selenium 启动无头浏览器的方法,只有chrome 和 firefox的. p ...
- selenium+谷歌无头浏览器爬取网易新闻国内板块
网页分析 首先来看下要爬取的网站的页面 查看网页源代码:你会发现它是由js动态加载显示的 所以采用selenium+谷歌无头浏览器来爬取它 1 加载网站,并拖动到底,发现其还有个加载更多 2 模拟点击 ...
- 无头浏览器phantomJS
selenium: 有头浏览器的代表(selenium+python也可实现静默运行 引入python的一个包,包叫:虚拟屏幕pyvirtualdisplay) PhantomJS : 无头浏览器的代 ...
- 基于Python, Selenium, Phantomjs无头浏览器访问页面
引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...
- Python对Selenium调用浏览器进行封装包括启用无头浏览器,及对应的浏览器配置文件
""" 获取浏览器 打开本地浏览器 打开远程浏览器 关闭浏览器 打开网址 最大化 最小化 标题 url 刷新 Python对Selenium封装浏览器调用 ------b ...
- 爬虫之 图片懒加载, selenium , phantomJs, 谷歌无头浏览器
一.图片懒加载 懒加载 : JS 代码 是页面自然滚动 window.scrollTo(0,document.body.scrollHeight) (重点) bro.execute_ ...
- 浏览器控制之 selenium,phantomJs谷无头浏览器
目录 浏览器控制之 selenium,phantomJs谷无头浏览器 selenium phantomJs 需求是尽可能多的爬取豆瓣网中的电影信息 谷歌无头浏览器 浏览器控制之 selenium,ph ...
随机推荐
- ASP.NET Core开发总结
1.关于浏览器缓存,修改CSS文件和Javascript文件后调试,浏览器不更新问题,解决办法是在link标签和script标签引用的文件名后面添加版本信息如下: <link rel=" ...
- ace-editor线上代码编辑器
package.json { "name": "vue-cli", "version": "1.0.0", " ...
- Bigger-Mai 养成计划,前端基础学习之HTML
HTML 超文本标记语言(Hyper Text Markup Language) 1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: - 写Html文件(充当模板的作用) ...
- 关于 diff 和patch
参考: https://blog.csdn.net/zygblock/article/details/53384862 diff和patch是 版本控制 git 的不可缺少的工具 diff 是用来比较 ...
- 从客户端取到浏览器返回的oauth凭证
这个随便记录一下,也是朋友问我的一个问题. 在网上找了下,没找到相关的,用英文也搜索了一下,可能我的关键词没找对,找了一会没找到. 想到以前用过的rclone也是用的这样的方式,去看了下相关部分源码. ...
- 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...
- parquet列式文件实战(未完,待续)
parquet列式文件实战 parquet code demo http://www.programcreek.com/java-api-examples/index.php?source_dir=h ...
- 练习markdown语法
这是一级标题 这是二级标题 这是三级标题 -列表试验 -据说这样无编号 编号文档 编号文档 编号文档 插入链接测试 插入图片测试 引用测试> 一蓑烟雨任平生 粗体测试我是加粗的 斜体测试我是斜体 ...
- [原][杂谈]如果人类的末日:"天网"出现
本文由南水之源在2019年3月21日发布,转载需声明原作者 本文仅为一次基于科技发展与科幻小说的幻想,如果天网真的出现,请不要参考这篇逻辑破败的推论. 参考: 天网(Skynet),是电影<终结 ...
- 实验十一 团队项目设计完善&编码测试
任务一: 根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明,将完善后内容以<XX团队项目软件设计方案>为名发布在团队博客中,博文中要突出对完善内容的陈述说明,修改部 ...