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

python爬取數(shù)據(jù)中的headers和代理IP問(wèn)題分析

 更新時(shí)間:2023年06月26日 10:16:16   作者:小白學(xué)大數(shù)據(jù)  
這篇文章主要為大家介紹了python爬取數(shù)據(jù)中的headers和代理IP問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

爬蟲(chóng)主要爬取方式之一 聚焦爬蟲(chóng)

也就是說(shuō),爬取某一個(gè)特定網(wǎng)站或者具有特定內(nèi)容的網(wǎng)站,而一般比較大的有價(jià)值的網(wǎng)站都會(huì)有反爬策略,其中常見(jiàn)的反爬策略是網(wǎng)站根據(jù)來(lái)訪者的身份判定是否予以放行。

對(duì)來(lái)訪者身份的判定一般基于headers里的user-Agent值,每一種瀏覽器訪問(wèn)網(wǎng)站的user-Agent都是不同的,因此,爬蟲(chóng)需要偽裝成瀏覽器,并且在爬取的過(guò)程中自動(dòng)切換偽裝,從而防止網(wǎng)站的封殺。

通過(guò)一些爬蟲(chóng)庫(kù)調(diào)用隨機(jī)返回一個(gè)headers(User-Agent)

import requests
ua = UserAgent()        # 實(shí)例化,需要聯(lián)網(wǎng)但是網(wǎng)站不太穩(wěn)定-可能耗時(shí)會(huì)長(zhǎng)一些
print(ua.random)  # 隨機(jī)產(chǎn)生
headers = {
    'User-Agent': ua.random    # 偽裝
    }
# 請(qǐng)求
if __name__ == '__main__':
    url = 'https://www.baidu.com/'
    response = requests.get(url, headers=headers ,proxies={"http":"117.136.27.43"})
    print(response.status_code)
還有就是訪問(wèn)IP的判別,在進(jìn)行Python爬蟲(chóng)程序開(kāi)發(fā)時(shí),如果頻繁地訪問(wèn)同一網(wǎng)站的情況下,網(wǎng)站服務(wù)器可能會(huì)把該IP地址列入黑名單,限制其訪問(wèn)權(quán)限。此時(shí),使用IP代理技術(shù)可以有效避免這種限制,保證爬蟲(chóng)程序的穩(wěn)定性。使用IP代理技術(shù)還有其他的優(yōu)點(diǎn),比如增強(qiáng)隱私保護(hù)、提高數(shù)據(jù)訪問(wèn)速度、降低目標(biāo)網(wǎng)站的壓力等等。總之,IP代理技術(shù)已經(jīng)成為了Python爬蟲(chóng)程序中不可或缺的一部分。
Python提供了豐富的第三方庫(kù),可以幫助我們實(shí)現(xiàn)IP代理功能。其中最常用的是requests庫(kù)和urllib庫(kù)。以下是使用requests庫(kù)實(shí)現(xiàn)IP代理的示例代碼:
```     #! -*- encoding:utf-8 -*-
    import requests
    import random
    # 要訪問(wèn)的目標(biāo)頁(yè)面
    targetUrl = "http://httpbin.org/ip"
    # 要訪問(wèn)的目標(biāo)HTTPS頁(yè)面
    # targetUrl = "https://httpbin.org/ip"
    # 代理服務(wù)器(產(chǎn)品官網(wǎng) www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"
    # 代理驗(yàn)證信息
    proxyUser = "username"
    proxyPass = "password"
    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }
    # 設(shè)置 http和https訪問(wèn)都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }
    #  設(shè)置IP切換頭
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}
    resp = requests.get(targetUrl, proxies=proxies, headers=headers)
    print resp.status_code
    print resp.text

以上就是python爬取數(shù)據(jù)中的headers和代理IP問(wèn)題解析的詳細(xì)內(nèi)容,更多關(guān)于python爬取數(shù)據(jù)headers代理IP的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 踩坑:pytorch中eval模式下結(jié)果遠(yuǎn)差于train模式介紹

    踩坑:pytorch中eval模式下結(jié)果遠(yuǎn)差于train模式介紹

    這篇文章主要介紹了踩坑:pytorch中eval模式下結(jié)果遠(yuǎn)差于train模式介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法

    python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法

    今天小編就為大家分享一篇python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Python實(shí)現(xiàn)備份文件實(shí)例

    Python實(shí)現(xiàn)備份文件實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)備份文件的方法,可實(shí)現(xiàn)針對(duì)各類常見(jiàn)擴(kuò)展名的文件進(jìn)行備份的功能,需要的朋友可以參考下
    2014-09-09
  • Python shutil模塊文件和目錄操作示例詳解

    Python shutil模塊文件和目錄操作示例詳解

    本文將會(huì)學(xué)習(xí)到?shutil?模塊,包括其主要功能和示例代碼,以幫助你更好地理解如何使用它來(lái)處理文件和目錄
    2023-11-11
  • Python爬取科目四考試題庫(kù)的方法實(shí)現(xiàn)

    Python爬取科目四考試題庫(kù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了Python爬取科目四考試題庫(kù)的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 最新評(píng)論