最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)爬蟲設(shè)置代理IP和偽裝成瀏覽器的方法分享

 更新時(shí)間:2018年05月07日 09:14:54   作者:Jepson2017  
今天小編就為大家分享一篇Python實(shí)現(xiàn)爬蟲設(shè)置代理IP和偽裝成瀏覽器的方法分享,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

1.python爬蟲瀏覽器偽裝

#導(dǎo)入urllib.request模塊
import urllib.request
#設(shè)置請求頭
headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
#創(chuàng)建一個(gè)opener
opener=urllib.request.build_opener()
#將headers添加到opener中
opener.addheaders=[headers]
#將opener安裝為全局
urllib.request.install_opener(opener)
#用urlopen打開網(wǎng)頁
data=urllib.request.urlopen(url).read().decode('utf-8','ignore')

2.設(shè)置代理

#定義代理ip
proxy_addr="122.241.72.191:808"
#設(shè)置代理
proxy=urllib.request.ProxyHandle({'http':proxy_addr})
#創(chuàng)建一個(gè)opener
opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)
#將opener安裝為全局
urllib.request.install_opener(opener)
#用urlopen打開網(wǎng)頁
data=urllib.request.urlopen(url).read().decode('utf-8','ignore')

3.同時(shí)設(shè)置用代理和模擬瀏覽器訪問

#定義代理ip
proxy_addr="122.241.72.191:808"
#創(chuàng)建一個(gè)請求
req=urllib.request.Request(url)
#添加headers
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
#設(shè)置代理
proxy=urllib.request.ProxyHandle("http":proxy_addr)
#創(chuàng)建一個(gè)opener
opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandle)
#將opener安裝為全局
urllib.request.install_opener(opener)
#用urlopen打開網(wǎng)頁
data=urllib.request.urlopen(req).read().decode('utf-8','ignore')

4.在請求頭中添加多個(gè)信息

import urllib.request
page_headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0",
       "Host":"www.baidu.com",
       "Cookie":"xxxxxxxx"
       }
req=urllib.request.Request(url,headers=page_headers)
data=urllib.request.urlopen(req).read().decode('utf-8','ignore')

5.添加post請求參數(shù)

import urllib.request
import urllib.parse
#設(shè)置post參數(shù)
page_data=urllib.parse.urlencode([
                  ('pn',page_num),
                  ('kd',keywords)
                  ])
#設(shè)置headers
page_headers={
     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0',
     'Connection':'keep-alive',
     'Host':'www.lagou.com',
     'Origin':'https://www.lagou.com',
     'Cookie':'JSESSIONID=ABAAABAABEEAAJA8F28C00A88DC4D771796BB5C6FFA2DDA; user_trace_token=20170715131136-d58c1f22f6434e9992fc0b35819a572b',
     'Accept':'application/json, text/javascript, */*; q=0.01',
     'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
     'Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98?labelWords=&fromSearch=true&suginput=',
     'X-Anit-Forge-Token':'None',
     'X-Requested-With':'XMLHttpRequest'
     }
#打開網(wǎng)頁
req=urllib.request.Request(url,headers=page_headers)
data=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')

6.利用phantomjs模擬瀏覽器請求

#1.下載phantomjs安裝到本地,并設(shè)置環(huán)境變量
from selenium import webdriver
bs=webdriver.PhantomJS()
#打開url
bs.get(url)
#獲取網(wǎng)頁源碼
url_data=bs.page_source
#將瀏覽到的網(wǎng)頁保存為圖片
bs.get_screenshot_as_file(filename)

7.phantomjs設(shè)置user-agent和cookie

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
bs = webdriver.PhantomJS(desired_capabilities=dcap)
bs.get(url)
#刪除cookie
bs.delete_all_cookies()
#設(shè)置cookie
#cookie格式:在瀏覽器cookie中查看,一個(gè)cookie需要包含以下參數(shù),domain、name、value、path
cookie={
  'domain':'.www.baidu.com', #注意前面有.
  'name':'xxxx', 
  'value':'xxxx', 
  'path':'xxxx'
  }
#向phantomjs中添加cookie
bs.add_cookie(cookie)

8.利用web_driver工具

#1.下載web_driver工具(如chromdriver.exe)及對應(yīng)的瀏覽器
#2.將chromdriver.exe放到某個(gè)目錄,如c:\chromdriver.exe
from selenium import webdriver
driver=webdriver.Chrome(executable_path="C:\chromdriver.exe")
#打開url
driver.get(url)

以上這篇Python實(shí)現(xiàn)爬蟲設(shè)置代理IP和偽裝成瀏覽器的方法分享就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python文件寫入write()的操作

    python文件寫入write()的操作

    這篇文章主要介紹了python文件寫入write()的操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python特性語法之遍歷、公共方法、引用

    python特性語法之遍歷、公共方法、引用

    這篇文章主要介紹了python特性語法之遍歷、公共方法、引用的相關(guān)資料,需要的朋友可以參考下
    2018-08-08
  • Python 自動(dòng)喚醒窗口截圖腳本

    Python 自動(dòng)喚醒窗口截圖腳本

    截圖的操作用途最為廣泛,你可以用它配合定時(shí)工具,定時(shí)檢測某個(gè)程序的運(yùn)行情況,本文給大家講下如何使用 win32api 實(shí)現(xiàn)自動(dòng)喚醒并截圖的操作,對Python窗口截圖腳本知識(shí)感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Python進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)

    Python進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)

    下面小編就為大家?guī)硪黄狿ython進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 深入了解Python 變量作用域

    深入了解Python 變量作用域

    這篇文章主要介紹了Python 變量作用域的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法

    python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法

    這篇文章主要介紹了python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python選擇排序、冒泡排序、合并排序代碼實(shí)例

    Python選擇排序、冒泡排序、合并排序代碼實(shí)例

    這篇文章主要介紹了Python選擇排序、冒泡排序、合并排序代碼實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • Pycharm配置Anaconda環(huán)境的詳細(xì)圖文教程

    Pycharm配置Anaconda環(huán)境的詳細(xì)圖文教程

    PyCharm是一款很好用很流行的python編輯器,Anaconda通過管理工具包、開發(fā)環(huán)境、Python版本,大大簡化了你的工作流程,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Pycharm配置Anaconda環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 詳解Python如何利用petl做數(shù)據(jù)遷移

    詳解Python如何利用petl做數(shù)據(jù)遷移

    隨著數(shù)據(jù)量的不斷增長,數(shù)據(jù)遷移成為了一項(xiàng)必不可少的任務(wù),本文就來為大家詳細(xì)介紹一下如何使用PETL進(jìn)行數(shù)據(jù)遷移,并給出一些實(shí)踐案例,需要的可以參考下
    2024-01-01
  • 詳解python路徑拼接os.path.join()函數(shù)的用法

    詳解python路徑拼接os.path.join()函數(shù)的用法

    os.path.join()函數(shù):連接兩個(gè)或更多的路徑名組件。這篇文章主要介紹了python路徑拼接os.path.join()函數(shù)的用法,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

措勤县| 浑源县| 邳州市| 连江县| 台江县| 苗栗市| 茶陵县| 文化| 阳春市| 台南县| 黔南| 任丘市| 鄂托克前旗| 景德镇市| 德格县| 原阳县| 兴仁县| 蒲江县| 河东区| 通辽市| 大荔县| 五指山市| 龙州县| 洪雅县| 赣州市| 汽车| 临潭县| 广南县| 乐平市| 定州市| 塔城市| 永新县| 哈密市| 玉环县| 渭南市| 丹东市| 库尔勒市| 全南县| 正安县| 额尔古纳市| 彭阳县|