chrome配置

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
driver = webdriver.Chrome(options=options)#executable_path="D:\Program Files\python3.7\chromedriver.exe"
#sleep(2)
driver.get('https://www.baidu.com/')
h = driver.page_source
print(h)

phantomjs

设置ip

方法1

service_args = ['--proxy=%s' % ip_html,    # 代理 IP:prot    (eg:192.168.0.28:808)'--proxy-type=http’,            # 代理类型:http/https‘--load-images=no’,           # 关闭图片加载(可选)'--disk-cache=yes’,            # 开启缓存(可选)'--ignore-ssl-errors=true’    # 忽略https错误(可选)
]
driver = webdriver.PhantomJS(service_args=service_args)

方法2

browser=webdriver.PhantomJS(PATH_PHANTOMJS)# 利用DesiredCapabilities(代理设置)参数值,重新打开一个sessionId,我看意思就相当于浏览器清空缓存后,加上代理重新访问一次url
proxy=webdriver.Proxy()
proxy.proxy_type=ProxyType.MANUAL
proxy.http_proxy='1.9.171.51:800'# 将代理设置添加到webdriver.DesiredCapabilities.PHANTOMJS中
proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)
browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)
browser.get('http://1212.ip138.com/ic.asp')print('1: ',browser.session_id)
print('2: ',browser.page_source)
print('3: ',browser.get_cookies())

还原为系统代理

# 还原为系统代理
proxy=webdriver.Proxy()
proxy.proxy_type=ProxyType.DIRECT
proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)
browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)
browser.get('http://1212.ip138.com/ic.asp')

设置请求头

import random,requests,json
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.proxy import ProxyType#随机获取一个ip
def proxies():r = requests.get("http://120.26.166.214:9840/JProxy/update/proxy/scoreproxy")rr = json.loads(r.text)hh = rr['ip'] + ":" + "8907"print(hh)return hh
ips =proxies()#设置phantomjs请求头和代理方法一:
#-------------------------------------------------------------------------------------
# 设置代理
service_args = ['--proxy=%s' % ips,  # 代理 IP:prot    (eg:192.168.0.28:808)'--ssl-protocol=any',           #忽略ssl协议'--load - images = no',         # 关闭图片加载(可选)'--disk-cache=yes',             # 开启缓存(可选)'--ignore-ssl-errors=true'     # 忽略https错误(可选)
]#设置请求头
user_agent = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " +"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36")
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = user_agent
driver = webdriver.PhantomJS(executable_path=r"C:\soft\phantomjs-2.1.1-windows\bin\phantomjs.exe",desired_capabilities=dcap,service_args=service_args)driver.get(url='http://www.baidu.com')
page=driver.page_source
print(page)#设置phantomjs请求头和代理方法二:
#-------------------------------------------------------------------------------------
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
# 从USER_AGENTS列表中随机选一个浏览器头,伪装浏览器
desired_capabilities["phantomjs.page.settings.userAgent"] = (random.choice('请求头池'))# 不载入图片,爬页面速度会快很多
desired_capabilities["phantomjs.page.settings.loadImages"] = False# 利用DesiredCapabilities(代理设置)参数值,重新打开一个sessionId,我看意思就相当于浏览器清空缓存后,加上代理重新访问一次url
proxy = webdriver.Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = random.choice('ip池')
proxy.add_to_capabilities(desired_capabilities)
phantomjs_driver = r'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe'
# 打开带配置信息的phantomJS浏览器
driver = webdriver.PhantomJS(executable_path=phantomjs_driver,desired_capabilities=desired_capabilities)
driver.start_session(desired_capabilities)driver.get(url='http://www.baidu.com')
page=driver.page_source
print(page)# 隐式等待5秒,可以自己调节
driver.implicitly_wait(5)
# 设置10秒页面超时返回,类似于requests.get()的timeout选项,driver.get()没有timeout选项
# 以前遇到过driver.get(url)一直不返回,但也不报错的问题,这时程序会卡住,设置超时选项能解决这个问题。
driver.set_page_load_timeout(20)
# 设置10秒脚本超时时间
driver.set_script_timeout(20)#翻页命令
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')

firefox

import time
from selenium.webdriver.common.proxy import* myProxy = '202.202.90.20:8080'proxy = Proxy({'proxyType': ProxyType.MANUAL, 'httpProxy': myProxy, 'ftpProxy': myProxy, 'sslProxy': myProxy, 'noProxy': ''})profile = webdriver.FirefoxProfile()
if proxy:profile = get_firefox_profile_with_proxy_set(profile, proxy)
if user_agent:profile.set_preference("general.useragent.override", user_agent)driver=webdriver.Firefox(proxy=proxy,profile=profile)
driver.get('https://www.baidu.com')
time.sleep(3)
driver.quit()

firefox无头模式

from selenium import webdriver# 创建的新实例驱动
options = webdriver.FirefoxOptions()
#火狐无头模式
options.add_argument('--headless')
options.add_argument('--disable-gpu')
# options.add_argument('window-size=1200x600')executable_path='./source/geckodriver/geckodriver.exe'
driver_path = webdriver.Firefox(firefox_options=options,executable_path=executable_path)

chrome

# !/usr/bin/python
# -*- coding: utf-8 -*-from selenium import webdriver# 进入浏览器设置
options = webdriver.ChromeOptions()
#谷歌无头模式
options.add_argument('--headless')
options.add_argument('--disable-gpu')
# options.add_argument('window-size=1200x600')
# 设置中文
options.add_argument('lang=zh_CN.UTF-8')
# 更换头部
options.add_argument('user-agent="Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20"')
#设置代理
if proxy:options.add_argument('proxy-server=' + proxy)
if user_agent:options.add_argument('user-agent=' + user_agent)browser = webdriver.Chrome(chrome_options=options)
url = "https://httpbin.org/get?show_env=1"
browser.get(url)
browser.quit()

selenium设置chrome–cookie

# !/usr/bin/python
# -*- coding: utf-8 -*-from selenium import webdriver
browser = webdriver.Chrome()url = "https://www.baidu.com/"
browser.get(url)
# 通过js新打开一个窗口
newwindow='window.open("https://www.baidu.com");'
# 删除原来的cookie
browser.delete_all_cookies()
# 携带cookie打开
browser.add_cookie({'name':'ABC','value':'DEF'})
# 通过js新打开一个窗口
browser.execute_script(newwindow)
input("查看效果")
browser.quit()

selenium设置chrome-图片不加载

from selenium import webdriveroptions = webdriver.ChromeOptions()
prefs = {'profile.default_content_setting_values': {'images': 2}
}
options.add_experimental_option('prefs', prefs)
browser = webdriver.Chrome(chrome_options=options)# browser = webdriver.Chrome()
url = "http://image.baidu.com/"
browser.get(url)
input("是否有图")
browser.quit()

转载引用于 https://cloud.tencent.com/developer/article/1406611

关于selenium:headless,IP代理,header设置相关推荐

  1. ie浏览器ip代理怎么设置

    核心提示:经常上网的朋友经常会遇到想使用代理IP上网的情况,但是又苦恼不知道怎么设置,小编这就告诉大家怎么在IE浏览器上设置代理IP上网. ie浏览器ip代理怎么设置?经常上网的朋友经常会遇到想使用代 ...

  2. selenium 和 IP代理池

    3.1 selenium selenium: Selenium 是一个自动化测试工具,利用它可以 驱动浏览器 执行特定的动作,如点击.下拉等操作(模拟浏览器操作) 同时还可以获取浏览器当前呈现的页面的 ...

  3. selenium配置ip代理和无头selenium

    配置ip代理 # -*- coding:utf-8 -*- from selenium import webdriverproxy = 192.168.3.9:8925chrome_options= ...

  4. python爬虫接单设置_Python 爬虫之设置ip代理,设置User-Agent,设置请求头,设置post载荷...

    importurllibimporturllib.requestimporturllib.parseimportrandomimporttimefrom fake_useragent importUs ...

  5. python设置电脑ip代理_设置代理IP在Python中使用

    在Pyhton中要怎么使用代理IP?我们经常说代理IP能够让Python更好的发挥爬虫效果,首先我们要懂得如何在python语言中设置代理IP来利用. 1.urllib模块设置代理 如果我们频繁用一个 ...

  6. java中selenium设置chrome浏览器为开发者模式与IP代理

    java中selenium设置chrome浏览器为开发者模式与IP代理 前言 代码 前言 之前为公司写了个爬虫项目,有时候为了绕过网站的反爬机制需要用到ip代理以及设置浏览器为开发者模式,看了一些se ...

  7. 爬虫学习笔记(十)—— Scrapy框架(五):下载中间件、用户/IP代理池、settings文件

    一.下载中间件 下载中间件是一个用来hooks进Scrapy的request/response处理过程的框架. 它是一个轻量级的底层系统,用来全局修改scrapy的request和response. ...

  8. python web ip_Python爬虫IP代理教程,让你不再为IP被封禁发愁!

    本文来源没啥特别,因为没使用ip代理导致爬取boos直聘数据时,ip被封了,不过好在已解决,想看看博主的爬虫文章的可以点击下方链接,还是蛮全的. 一.免费代理ip地址推荐 站大爷 快代理 芝麻代理芝麻 ...

  9. 爬虫实战学习笔记_3 网络请求urllib模块:设置IP代理+处理请求异常+解析URL+解码+编码+组合URL+URL连接

    1 设置IP代理 1.1 方法论述 使用urllib模块设置代理IP是比较简单的,首先需要创建ProxyHandler对象,其参数为字典类型的代理IP,键名为协议类型(如HTTP或者HTTPS),值为 ...

最新文章

  1. MATLAB中subplot函数使用
  2. SAP Retail for SAP (non-Retail) Experts
  3. Oracle按照时间统计总结
  4. mysql 安装包_ubuntu下安装mysql全记录
  5. golang常见字符串操作函数
  6. easypoi needmerge失效_EasyPOI简单用例,简单有效
  7. 为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪
  8. python编的俄罗斯方块游戏_python编写俄罗斯方块
  9. 从技术小白到老司机,这20本书帮你“快进”20年
  10. 2020,国产 AI 开源框架“剑指”TensorFlow、PyTorch
  11. 深入解析 Flink 细粒度资源管理
  12. java 15道经典,15道非常经典的Java面试题
  13. python图片内容长度识别_python 图片中的表格识别
  14. 国内主流API市场分析报告
  15. iOS开发(OC)——音频播放AVPlayer
  16. win7系统下 安装anaconda时报错“failed to create menus”的解决方案
  17. 把Nodejs做成CentOS系统服务并开机启动
  18. Day001--Scala中的下载安装配置及下载安装集成开发环境IDEA
  19. 15分钟详解 Python 安全认证的那些事儿~
  20. ACM-ICPC 2018 焦作赛区网络预赛 A. Magic Mirror (水)| B . Mathematical Curse(dp)

热门文章

  1. 01-什么是栅格数据
  2. 100天精通Python(可视化篇)——第84天:matplotlib绘制不同种类炫酷直方图参数说明+代码实战(普通、多变量、堆叠、分组、多个子图、折线、曲线直方图)
  3. JavaWeb 人员管理系统
  4. 金蝶K3批量禁用物料的语句
  5. 燕千云 YQCloud 数智化业务服务平台 发布1.12版本
  6. linux 使用scp命令,Linux scp命令使用实例汇总
  7. Wireshark抓包数据分析
  8. 国家大环境施压,开曼公司来控股国内公司。
  9. 业务分析师在敏捷项目中的作用(ZT)
  10. 使用EasyExcel添加多级分类功能