欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox)

 更新時間:2018年11月29日 14:43:10   作者:周小董  
這篇文章主要介紹了selenium設(shè)置proxy、headers的方法(phantomjs、Chrome、Firefox),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了selenium設(shè)置proxy、headers的方法,把phantomjs、Chrome、Firefox幾個瀏覽器的設(shè)置方法都總結(jié)一下,分享給大家,也給自己留個筆記

phantomjs

設(shè)置ip

方法1:

service_args = [
  '--proxy=%s' % ip_html,  # 代理 IP:prot  (eg:192.168.0.28:808)
  '--proxy-type=http',      # 代理類型:http/https
  ‘--load-images=no',      # 關(guān)閉圖片加載(可選)
  '--disk-cache=yes',      # 開啟緩存(可選)
  '--ignore-ssl-errors=true'  # 忽略https錯誤(可選)
]
driver = webdriver.PhantomJS(service_args=service_args)

方法2:

browser=webdriver.PhantomJS(PATH_PHANTOMJS)

# 利用DesiredCapabilities(代理設(shè)置)參數(shù)值,重新打開一個sessionId,我看意思就相當于瀏覽器清空緩存后,加上代理重新訪問一次url
proxy=webdriver.Proxy()
proxy.proxy_type=ProxyType.MANUAL
proxy.http_proxy='1.9.171.51:800'

# 將代理設(shè)置添加到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())

還原為系統(tǒng)代理

# 還原為系統(tǒng)代理
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')

設(shè)置請求頭

方法2

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()


#設(shè)置phantomjs請求頭和代理方法一:
#-------------------------------------------------------------------------------------
# 設(shè)置代理
service_args = [
  '--proxy=%s' % ips, # 代理 IP:prot  (eg:192.168.0.28:808)
  '--ssl-protocol=any',      #忽略ssl協(xié)議
  '--load - images = no',     # 關(guān)閉圖片加載(可選)
  '--disk-cache=yes',       # 開啟緩存(可選)
  '--ignore-ssl-errors=true'   # 忽略https錯誤(可選)
]

#設(shè)置請求頭
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)

#設(shè)置phantomjs請求頭和代理方法二:
#-------------------------------------------------------------------------------------
desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
# 從USER_AGENTS列表中隨機選一個瀏覽器頭,偽裝瀏覽器
desired_capabilities["phantomjs.page.settings.userAgent"] = (random.choice('請求頭池'))

# 不載入圖片,爬頁面速度會快很多
desired_capabilities["phantomjs.page.settings.loadImages"] = False

# 利用DesiredCapabilities(代理設(shè)置)參數(shù)值,重新打開一個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秒,可以自己調(diào)節(jié)
driver.implicitly_wait(5)
# 設(shè)置10秒頁面超時返回,類似于requests.get()的timeout選項,driver.get()沒有timeout選項
# 以前遇到過driver.get(url)一直不返回,但也不報錯的問題,這時程序會卡住,設(shè)置超時選項能解決這個問題。
driver.set_page_load_timeout(20)
# 設(shè)置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

# 創(chuàng)建的新實例驅(qū)動
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

# 進入瀏覽器設(shè)置
options = webdriver.ChromeOptions()
#谷歌無頭模式
options.add_argument('--headless')
options.add_argument('--disable-gpu')
# options.add_argument('window-size=1200x600')
# 設(shè)置中文
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"')
#設(shè)置代理
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設(shè)置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設(shè)置chrome-圖片不加載

from selenium import webdriver

options = 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()

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程

    在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程

    這篇文章主要介紹了在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程,代碼和核心的算法都非常簡單,需要的朋友可以參考下
    2015-04-04
  • Python中實現(xiàn)最小二乘法思路及實現(xiàn)代碼

    Python中實現(xiàn)最小二乘法思路及實現(xiàn)代碼

    這篇文章主要介紹了Python中實現(xiàn)最小二乘法思路及實現(xiàn)代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • linux環(huán)境下python中MySQLdb模塊的安裝方法

    linux環(huán)境下python中MySQLdb模塊的安裝方法

    這篇文章主要給大家介紹了在linux環(huán)境下python中MySQLdb模塊的安裝方法,文中給大家介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Python 詳解通過Scrapy框架實現(xiàn)爬取百度新冠疫情數(shù)據(jù)流程

    Python 詳解通過Scrapy框架實現(xiàn)爬取百度新冠疫情數(shù)據(jù)流程

    Scrapy是用純Python實現(xiàn)一個為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個模塊就可以輕松的實現(xiàn)一個爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便
    2021-11-11
  • 利用Python3編寫一個電腦錄屏神器

    利用Python3編寫一個電腦錄屏神器

    這篇文章主要為大家詳細介紹了如何利用Python3編寫一個簡易的電腦錄屏神器,文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下
    2022-08-08
  • python解析文件示例

    python解析文件示例

    這篇文章主要介紹了python解析文本文件示例,大家參考使用吧
    2014-01-01
  • Python3.7 + Yolo3實現(xiàn)識別語音播報功能

    Python3.7 + Yolo3實現(xiàn)識別語音播報功能

    這篇文章主要介紹了Python3.7 + Yolo3識別語音播報功能,開始之前我們先得解析出來Yolo3的代碼,從而獲取到被識別出來的物體標簽,具體詳細過程跟隨小編一起看看吧
    2021-12-12
  • 手把手教你在Python里使用ChatGPT

    手把手教你在Python里使用ChatGPT

    最近幾天我一直在玩?ChatGPT,我對使用這個工具的無限可能性著迷,下面這篇文章主要給大家介紹了關(guān)于在Python里使用ChatGPT的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • pandas如何修改特定的值

    pandas如何修改特定的值

    這篇文章主要介紹了pandas如何修改特定的值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python面向?qū)ο笏枷肱c應(yīng)用入門教程【類與對象】

    Python面向?qū)ο笏枷肱c應(yīng)用入門教程【類與對象】

    這篇文章主要介紹了Python面向?qū)ο笏枷肱c應(yīng)用,較為詳細的分析了Python面向?qū)ο笏枷肱c原理,并結(jié)合實例形式分析了類與對象相關(guān)定義、用法及操作注意事項,需要的朋友可以參考下
    2019-04-04

最新評論