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

Python urllib庫(kù)如何添加headers過(guò)程解析

 更新時(shí)間:2020年10月05日 10:37:00   作者:lincappu  
這篇文章主要介紹了Python urllib庫(kù)如何添加headers過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

對(duì)于請(qǐng)求一些網(wǎng)站,我們需要加上請(qǐng)求頭才可以完成網(wǎng)頁(yè)的抓取,不然會(huì)得到一些錯(cuò)誤,無(wú)法返回抓取的網(wǎng)頁(yè)。下面,介紹兩種添加請(qǐng)求頭的方法。

方法一:借助build_opener和addheaders完成

import urllib.request
url="http://www.meizitu.com"
#注意:在urllib 中headers是元組
headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE")

opener=urllib.request.build_opener()
opener.addheaders=[headers]
data=opener.open(url)
print(data.read())

注意:此處的headers要寫(xiě)為一個(gè)元組類型才可以。寫(xiě)為字典類型的話會(huì)報(bào)錯(cuò)!

方法二、創(chuàng)建一個(gè)Request實(shí)例對(duì)象

# 案例1
import urllib.request
url="http://www.meizitu.com"
#注意:在urllib 中這種的headers 是需要是字典的
headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE"}
req=urllib.request.Request(url=url,headers=headers)
file=urllib.request.urlopen(req)

#出現(xiàn)有些解碼錯(cuò)誤的話,加上“ignore”就可以啦
print(file.read().decode("utf-8",'ignore'))

注意:此處的headers要寫(xiě)為一個(gè)字典類型才可以。

創(chuàng)建一個(gè)Reques對(duì)象,把需要的headers,url,proxy 都放進(jìn)去,或者在post 請(qǐng)求中還可以把編碼過(guò)后的data 值放進(jìn)去,再用urlopen 打開(kāi),就比較方便了。

另外,這種方法還可以用add_headers()來(lái)添加headers,代碼如下:

import urllib.request
try:
  url="http://www.meizitu.com"
  req=urllib.request.Request(url=url)

  req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE")
  file=urllib.request.urlopen(req,timeout=10.1)

  print(file.read().decode("utf-8",'ignore'))
except Exception as e:
  print("時(shí)間超時(shí)",str(e))

總結(jié):通過(guò)以上兩種方法,可以完成請(qǐng)求頭的相關(guān)參數(shù)設(shè)置,但是得注意headers是用字典類型來(lái)傳入還是元組類型。

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

相關(guān)文章

  • Python+Matplotlib實(shí)現(xiàn)繪制三維折線圖

    Python+Matplotlib實(shí)現(xiàn)繪制三維折線圖

    立體圖視覺(jué)上層次分明色彩鮮艷,具有很強(qiáng)的視覺(jué)沖擊力,讓觀看的人駐景時(shí)間長(zhǎng),留下深刻的印象。今天我們就通過(guò)這篇文章來(lái)了解如何用python中的matplotlib庫(kù)繪制漂亮的三維折線圖吧
    2023-03-03
  • jupyternotebook 撤銷刪除的操作方式

    jupyternotebook 撤銷刪除的操作方式

    這篇文章主要介紹了jupyternotebook 撤銷刪除的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例

    Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例

    下面小編就為大家分享一篇Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python 函數(shù)簡(jiǎn)單易理解版

    Python 函數(shù)簡(jiǎn)單易理解版

    本文將用簡(jiǎn)單易解的描述方法對(duì)Python 函數(shù)做一個(gè)詳情介紹,感興趣的朋友可以參考下文
    2021-08-08
  • Python Tornado框架輕松寫(xiě)一個(gè)Web應(yīng)用的全過(guò)程

    Python Tornado框架輕松寫(xiě)一個(gè)Web應(yīng)用的全過(guò)程

    Tornado全稱Tornado Web Server,是一個(gè)用Python語(yǔ)言寫(xiě)成的Web服務(wù)器兼Web應(yīng)用框架,Tornado走的是少而精的方向,注重的是性能優(yōu)越,它最出名的是異步非阻塞的服務(wù)器方式,這篇文章主要給大家介紹了關(guān)于Python Tornado框架輕松寫(xiě)一個(gè)Web應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python中dict和set的用法講解

    Python中dict和set的用法講解

    今天小編就為大家分享一篇關(guān)于Python中dict和set的用法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Python如何將兩個(gè)三維模型(obj)合成一個(gè)三維模型(obj)

    Python如何將兩個(gè)三維模型(obj)合成一個(gè)三維模型(obj)

    這篇文章主要介紹了Python如何將兩個(gè)三維模型(obj)合成一個(gè)三維模型(obj)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Pytorch?使用Google?Colab訓(xùn)練神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)

    Pytorch?使用Google?Colab訓(xùn)練神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)

    本文以VOC數(shù)據(jù)集為例,因此在訓(xùn)練的時(shí)候沒(méi)有修改classes_path等,如果是訓(xùn)練自己的數(shù)據(jù)集,各位一定要注意修改classes_path等其它參數(shù)
    2022-04-04
  • Python中的命名元組簡(jiǎn)單而強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)示例詳解

    Python中的命名元組簡(jiǎn)單而強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)示例詳解

    namedtuple是Python中一個(gè)非常有用的數(shù)據(jù)結(jié)構(gòu),它提供了一種簡(jiǎn)單的方式創(chuàng)建具有固定字段的輕量級(jí)對(duì)象,通過(guò)使用namedtuple,可以提高代碼的可讀性和可維護(hù)性,避免了使用類定義對(duì)象的復(fù)雜性,這篇文章主要介紹了Python中的命名元組簡(jiǎn)單而強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2024-05-05
  • Python地圖繪制實(shí)操詳解

    Python地圖繪制實(shí)操詳解

    在本文里我們給大家介紹了用Python繪制地圖的知識(shí)點(diǎn)以及詳細(xì)步驟,需要的朋友們跟著學(xué)習(xí)下。
    2019-03-03

最新評(píng)論