python爬蟲設(shè)置請求消息頭(headers)

在使用python爬蟲爬取數(shù)據(jù)的時候,經(jīng)常會遇到一些網(wǎng)站的反爬蟲措施,一般就是針對于headers中的User-Agent,如果沒有對headers進(jìn)行設(shè)置,User-Agent會聲明自己是python腳本,而如果網(wǎng)站有反爬蟲的想法的話,必然會拒絕這樣的連接。而修改headers可以將自己的爬蟲腳本偽裝成瀏覽器的正常訪問,來避免這一問題。

設(shè)置方法
使用urllib請求頁面時

import urllib, urllib2
def get_page_source(url):
    headers = {'Accept': '*/*',
               'Accept-Language': 'en-US,en;q=0.8',
               'Cache-Control': 'max-age=0',
               'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',
               'Connection': 'keep-alive',
               'Referer': 'http://www.baidu.com/'
               }
    req = urllib2.Request(url, None, headers)
    response = urllib2.urlopen(req)
    page_source = response.read()
    return page_source

使用phantomjs請求頁面

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
def get_headers_driver():
    desire = DesiredCapabilities.PHANTOMJS.copy()
    headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
               'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4',
               'Cache-Control': 'max-age=0',
               'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 '
                             '(KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
               'Connection': 'keep-alive',
               'Referer': 'http://www.ziroom.com/?utm_source=pinzhuan&utm_medium=baidu&utm_campaign=biaoti'
               }
    for key, value in headers.iteritems():
        desire['phantomjs.page.customHeaders.{}'.format(key)] = value
    driver = webdriver.PhantomJS(desired_capabilities=desire, service_args=['--load-images=yes'])#將yes改成no可以讓瀏覽器不加載圖片
    return driver
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 爬蟲文章 in 簡書程序員專題: like:128-Python 爬取落網(wǎng)音樂 like:127-【圖文詳解】py...
    喜歡吃栗子閱讀 22,729評論 4 411
  • 聲明:本文講解的實戰(zhàn)內(nèi)容,均僅用于學(xué)習(xí)交流,請勿用于任何商業(yè)用途! 一、前言 強(qiáng)烈建議:請在電腦的陪同下,閱讀本文...
    Bruce_Szh閱讀 13,011評論 6 28
  • 1 前言 作為一名合格的數(shù)據(jù)分析師,其完整的技術(shù)知識體系必須貫穿數(shù)據(jù)獲取、數(shù)據(jù)存儲、數(shù)據(jù)提取、數(shù)據(jù)分析、數(shù)據(jù)挖掘、...
    whenif閱讀 18,315評論 45 523
  • 泰國在人們的印象中,最著名的動物一定是曾經(jīng)在國徽和國旗上嶄露頭角的大象,盡管國旗和國徽都已經(jīng)換了圖案,但在眾多旅游...
    nothing_here閱讀 1,394評論 1 7
  • 云深似海 卻沒了海水的清澈 污濁難辨日月 卻讓我看到黃沙漫天 是森林的報復(fù) 還是大地的警示 連風(fēng)也湊著熱鬧 難見碧...
    藍(lán)色汪星人閱讀 331評論 -1 6

友情鏈接更多精彩內(nèi)容