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

python的rllib庫你了解嗎

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

urllib庫作用

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

Urllib 庫下的幾種模塊的基本使用

一、urllib.request模塊

1.功能

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

2.常用方法

2.1 urlopen()方法

語法格式:

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 時, urlopen() 提交方式為 Post; timeout:設(shè)置網(wǎng)站訪問超時時間

用例:

import urllib.request# 等價于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方法獲取頁面,其中 page 數(shù)據(jù)類型為 bytes 類型,經(jīng)過 decode 解碼 轉(zhuǎn)換成 string 類型。通過輸出結(jié)果可以 urlopen 返回對象是HTTPResposne 類型對象。

urlopen 返回一個類文件對象,并提供了如下方法:

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

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

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

geturl():返回獲取頁面的真實 URL。在 urlopen(或 opener 對象)可能帶一個重定向時,此方法很有幫助。獲取的頁面 URL 不一定跟真實請求的 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)頁源碼:",page.decode('utf-8'))

2.2 Request()方法

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

語法格式:

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

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

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

origin_req_host:請求方的 host 名稱或者 IP 地址。

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

    python繪制簡單直方圖的方法

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

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

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

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

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

    跟老齊學(xué)Python之一個免費的實驗室

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

    python使用pyecharts繪制簡單的折線圖

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

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

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

    Python 基于wxpy庫實現(xiàn)微信添加好友功能(簡潔)

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

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

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

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

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

最新評論

东平县| 石家庄市| 浑源县| 阿坝| 嘉祥县| 平阳县| 隆德县| 九龙坡区| 长沙县| 梅河口市| 贵溪市| 盐池县| 农安县| 漯河市| 健康| 洛隆县| 丁青县| 灵寿县| 南昌市| 明水县| 揭东县| 丹寨县| 抚州市| 长武县| 廉江市| 博乐市| 本溪| 阜城县| 卢氏县| 屯昌县| 扬州市| 沈丘县| 同仁县| 乌恰县| 巴彦县| 玉山县| 清远市| 广元市| 望江县| 金山区| 仪征市|