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

python的rllib庫(kù)你了解嗎

 更新時(shí)間:2021年11月02日 08:42:42   作者:不怕晚  
這篇文章主要介紹了python urllib庫(kù)的使用,幫助大家更好的利用python學(xué)習(xí)爬蟲,感興趣的朋友可以了解下,希望能夠給你帶來幫助

urllib庫(kù)作用

urllib 庫(kù) 是Python內(nèi)置的 HTTP 請(qǐng)求庫(kù)。urllib 模塊提供的上層接口,使訪問 www 和 ftp 上的數(shù)據(jù)就像訪問本地文件一樣。我們爬取網(wǎng)頁(yè)的時(shí)候,經(jīng)常需要用到這個(gè)庫(kù)。

Urllib 庫(kù)下的幾種模塊的基本使用

一、urllib.request模塊

1.功能

urllib.request 模塊提供了最基本的構(gòu)造 HTTP (或其他協(xié)議如 FTP)請(qǐng)求的方法,利用它可以模擬瀏覽器的一個(gè)請(qǐng)求發(fā)起過程。利用不同的協(xié)議去獲取 URL 信息。它的某些接口能夠處理基礎(chǔ)認(rèn)證 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (瀏覽器 Cookies)等情況。而這些接口是由 handlers 和 openers 對(duì)象提供的。

2.常用方法

2.1 urlopen()方法

語(yǔ)法格式:

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

參數(shù)說明:url:需要打開的網(wǎng)址; data: Post 提交的數(shù)據(jù), 默認(rèn)為 None ,當(dāng) data 不為 None 時(shí), urlopen() 提交方式為 Post; timeout:設(shè)置網(wǎng)站訪問超時(shí)時(shí)間

用例:

import urllib.request# 等價(jià)于from urllib import request
response = urllib.request.urlopen('https://www.baidu.com')
print("查看 response 響應(yīng)信息類型: ",type(response))
page = response.read()
print(page.decode('utf-8'))

說明: 直接使用 urllib.request 模塊中的 urlopen方法獲取頁(yè)面,其中 page 數(shù)據(jù)類型為 bytes 類型,經(jīng)過 decode 解碼 轉(zhuǎn)換成 string 類型。通過輸出結(jié)果可以 urlopen 返回對(duì)象是HTTPResposne 類型對(duì)象。

urlopen 返回一個(gè)類文件對(duì)象,并提供了如下方法:

read() , readline() , readlines() , fileno() , close() :這些方法的使用方式與文件對(duì)象完全一樣;

info():返回一個(gè)httplib.HTTPMessage對(duì)象,表示遠(yuǎn)程服務(wù)器返回的頭信息;可以通過Quick Reference to Http Headers查看 Http Header 列表。

getcode():返回Http狀態(tài)碼。如果是http請(qǐng)求,200表示請(qǐng)求成功完成;404表示網(wǎng)址未找到;

geturl():返回獲取頁(yè)面的真實(shí) URL。在 urlopen(或 opener 對(duì)象)可能帶一個(gè)重定向時(shí),此方法很有幫助。獲取的頁(yè)面 URL 不一定跟真實(shí)請(qǐng)求的 URL 相同。

示例:

import urllib.request
response = urllib.request.urlopen('https://python.org/')
print("查看 response 的返回類型:",type(response))
print("查看反應(yīng)地址信息: ",response)
print("查看頭部信息1(http header):\n",response.info())
print("查看頭部信息2(http header):\n",response.getheaders())
print("輸出頭部屬性信息:",response.getheader("Server"))
print("查看響應(yīng)狀態(tài)信息1(http status):\n",response.status)
print("查看響應(yīng)狀態(tài)信息2(http status):\n",response.getcode())
print("查看響應(yīng) url 地址:\n",response.geturl())
page = response.read()
print("輸出網(wǎng)頁(yè)源碼:",page.decode('utf-8'))

2.2 Request()方法

使用request()來包裝請(qǐng)求,再通過urlopen()獲取頁(yè)面。

語(yǔ)法格式:

urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

示例:

import urllib.request
url = "https://www.lagou.com/zhaopin/Python/?labelWords=label"
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
'Referer': 'https://www.lagou.com/zhaopin/Python/?labelWords=label',
'Connection': 'keep-alive'
}
req = request.Request(url, headers=headers)
page = request.urlopen(req).read()
page = page.decode('utf-8')
print(page)

參數(shù)說明:

User-Agent :這個(gè)頭部可以攜帶如下幾條信息:瀏覽器名和版本號(hào)、操作系統(tǒng)名和版本號(hào)、默認(rèn)語(yǔ)言。這個(gè)數(shù)據(jù)可以從 網(wǎng)頁(yè)開發(fā)工具上的請(qǐng)求反應(yīng)信息中獲取(瀏覽器上一般按 F12 打開開發(fā)工具)。作用是用于偽裝瀏覽器。

Referer:可以用來防止盜鏈,有一些網(wǎng)站圖片顯示來源 https://***.com ,就是檢查 Referer 來鑒定的。

Connection:表示連接狀態(tài),記錄 Session 的狀態(tài)。

origin_req_host:請(qǐng)求方的 host 名稱或者 IP 地址。

unverifiable:指請(qǐng)求無法驗(yàn)證,默認(rèn)為 False。用戶并沒有足夠的權(quán)限來選擇接收這個(gè)請(qǐng)求結(jié)果,例如請(qǐng)求一個(gè) HTML 文檔中的圖片,但沒有自動(dòng)抓取圖像的權(quán)限,這時(shí) unverifiable 為 True。

method:指定請(qǐng)求使用的方法,例如 GET、POST、PUT 等。

參考:http://www.fzitv.net/article/209542.htm

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Python命名空間與作用域深入全面詳解

    Python命名空間與作用域深入全面詳解

    命名空間是從名稱到對(duì)象的映射,大部分的命名空間都是通過 Python 字典來實(shí)現(xiàn)的,作用域就是一個(gè)可以直接訪問命名空間的正文區(qū)域。程序的變量并不是在哪個(gè)位置都可以訪問的,訪問權(quán)限決定于這個(gè)變量是在哪里賦值的
    2022-11-11
  • python繪制簡(jiǎn)單直方圖的方法

    python繪制簡(jiǎn)單直方圖的方法

    這篇文章主要為大家詳細(xì)介紹了python繪制簡(jiǎn)單直方圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python 中的range(),以及列表切片方法

    Python 中的range(),以及列表切片方法

    今天小編就為大家分享一篇Python 中的range(),以及列表切片方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解

    Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解

    這篇文章主要介紹了Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 跟老齊學(xué)Python之一個(gè)免費(fèi)的實(shí)驗(yàn)室

    跟老齊學(xué)Python之一個(gè)免費(fèi)的實(shí)驗(yàn)室

    學(xué)習(xí)Python也要做實(shí)驗(yàn),也就是嘗試性地看看某個(gè)命令到底什么含義。在《集成開發(fā)環(huán)境(IDE)》一章中,我們介紹了Python的IDE時(shí),給大家推薦了IDLE,進(jìn)入到IDLE中,看到>>>符號(hào),可以在后面輸入一行指令。其實(shí),這就是一個(gè)非常好的實(shí)驗(yàn)室。
    2014-09-09
  • python使用pyecharts繪制簡(jiǎn)單的折線圖

    python使用pyecharts繪制簡(jiǎn)單的折線圖

    這篇文章講給大家介紹一下python使用pyecharts繪制簡(jiǎn)單的折線圖的黨法步驟,文中有詳細(xì)的代碼示例講解,對(duì)我們學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • 詳解Python 函數(shù)參數(shù)的拆解

    詳解Python 函數(shù)參數(shù)的拆解

    這篇文章主要介紹了Python 函數(shù)參數(shù)的拆解,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python 基于wxpy庫(kù)實(shí)現(xiàn)微信添加好友功能(簡(jiǎn)潔)

    Python 基于wxpy庫(kù)實(shí)現(xiàn)微信添加好友功能(簡(jiǎn)潔)

    這篇文章主要介紹了Python 基于wxpy庫(kù)實(shí)現(xiàn)微信添加好友功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python的Django框架中的URL配置與松耦合

    Python的Django框架中的URL配置與松耦合

    這篇文章主要介紹了Python的Django框架中的URL配置與松耦合,文中簡(jiǎn)單講解了這一松耦合原則,需要的朋友可以參考下
    2015-07-07
  • C#中使用XPath定位HTML中的img標(biāo)簽的操作示例

    C#中使用XPath定位HTML中的img標(biāo)簽的操作示例

    隨著互聯(lián)網(wǎng)內(nèi)容的日益豐富,網(wǎng)頁(yè)數(shù)據(jù)的自動(dòng)化處理變得愈發(fā)重要,圖片作為網(wǎng)頁(yè)中的重要組成部分,其獲取和處理在許多應(yīng)用場(chǎng)景中都顯得至關(guān)重要,本文將詳細(xì)介紹如何在 C# 應(yīng)用程序中使用 XPath 定位 HTML 中的 img 標(biāo)簽,并實(shí)現(xiàn)圖片的下載,需要的朋友可以參考下
    2024-07-07

最新評(píng)論

高州市| 桐乡市| 杭州市| 九寨沟县| 哈尔滨市| 南和县| 托里县| 高邮市| 团风县| 潮安县| 深州市| 大宁县| 尉氏县| 日照市| 沽源县| 铜山县| 枣庄市| 墨竹工卡县| 民勤县| 罗城| 磴口县| 定兴县| 阿克| 朝阳县| 巴林左旗| 虞城县| 辽阳市| 宿迁市| 青田县| 辉县市| 伊宁市| 扶风县| 罗甸县| 莲花县| 建昌县| 信阳市| 祥云县| 平泉县| 永修县| 洪雅县| 西吉县|