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

Python網(wǎng)絡(luò)請求模塊urllib與requests使用介紹

 更新時間:2022年10月11日 09:20:03   作者:Python熱愛者  
網(wǎng)絡(luò)爬蟲的第一步就是根據(jù)URL,獲取網(wǎng)頁的HTML信息。在Python3中,可以使用urllib和requests進行網(wǎng)頁數(shù)據(jù)獲取,這篇文章主要介紹了Python網(wǎng)絡(luò)請求模塊urllib與requests使用

Python 網(wǎng)絡(luò)請求模塊 urllib 、requests

Python 給人的印象是抓取網(wǎng)頁非常方便,提供這種生產(chǎn)力的,主要依靠的就是 urllib、requests這兩個模塊。

urlib 介紹

  • urllib.request 提供了一個 urlopen 函數(shù),來實現(xiàn)獲取頁面。支持不同的協(xié)議、基本驗證、cookie、代理等特性。
  • urllib 有兩個版本 urllib 以及 urllib2。
  • urllib2 能夠接受 Request 對象,urllib 則只能接受 url。
  • urllib 提供了 urlencode 函數(shù)來對GET請求的參數(shù)進行轉(zhuǎn)碼,urllib2 沒有對應(yīng)函數(shù)。
  • urllib 拋出了 一個 URLError 和一個 HTTPError 來處理客戶端和服務(wù)端的異常情況。

Requests 介紹

Requests 是一個簡單易用的,用Python編寫的HTTP庫。這個庫讓我們能夠用簡單的參數(shù)就完成HTTP請求,而不必像 urllib 一樣自己指定參數(shù)。同時能夠自動將響應(yīng)轉(zhuǎn)碼為Unicode,而且具有豐富的錯誤處理功能。

  • International Domains and URLs
  • Keep-Alive & Connection Pooling
  • Sessions with Cookie Persistence
  • Browser-style SSL Verification
  • Basic/Digest Authentication
  • Elegant Key/Value Cookies
  • Automatic Decompression
  • Unicode Response Bodies
  • Multipart File Uploads
  • Connection Timeouts
  • .netrc support
  • List item
  • Python 2.6—3.4
  • Thread-safe

以下為一些示例代碼,本文環(huán)境為 Python 3.6

無需參數(shù)直接請求單個頁面

import urllib
from urllib.request import request
from urllib.urlopen import urlopen
# import urllib2
import requests
# 使用 urllib 方式獲取
response = urllib.request.urlopen('http://www.baidu.com')
# read() 讀取的是服務(wù)器的原始返回數(shù)據(jù) decode() 后會進行轉(zhuǎn)碼
print(response.read().decode())
# 使用 requests 方式獲取
# request 模塊相比
resp = requests.get('http://www.baidu.com')
print(resp)
print(resp.text)

HTTP 是基于請求和響應(yīng)的工作模式,urllib.request 提供了一個 Request 對象來代表請求,因此上面的代碼也可以這么寫

req = urllib.request.Request('http://www.baidu.com')
with urllib.request.urlopen(req) as response:
print(response.read())

Request對象可以增加header信息

req = urllib.request.Request('http://www.baidu.com')
req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')
with urllib.request.urlopen(req) as response:
print(response.read())

或者直接將 header 傳入 Request 構(gòu)建函數(shù)。

帶參數(shù)的 GET 請求

帶有參數(shù)的請求和上面的例子本質(zhì)一樣,可以事先拼出URL請求字符串,然后再進行請求。

本例使用了 騰訊 的股票API,可以傳入不同的股票代碼以及日期,查詢對應(yīng)股票在對應(yīng)時間的價格、交易信息。

# 使用帶參數(shù)的接口訪問
tencent_api = "http://qt.gtimg.cn/q=sh601939"
response = urllib.request.urlopen(tencent_api)
# read() 讀取的是服務(wù)器的原始返回數(shù)據(jù) decode() 后會進行轉(zhuǎn)碼
print(response.read())
resp = requests.get(tencent_api)
print(resp)
print(resp.text)

發(fā)送 POST 請求

urllib 沒有單獨區(qū)分 GET 和 POST 請求的函數(shù),只是通過 Request 對象是否有 data 參數(shù)傳入來判斷。

import urllib.parse
import urllib.request
url = 'http://www.someserver.com/cgi-bin/register.cgi'
values = {'name' : 'Michael Foord',
          'location' : 'Northampton',
          'language' : 'Python' }
data = urllib.parse.urlencode(values)
data = data.encode('ascii') # data should be bytes req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
   the_page = response.read()

到此這篇關(guān)于Python網(wǎng)絡(luò)請求模塊urllib與requests使用介紹的文章就介紹到這了,更多相關(guān)Python urllib與requests內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python繪圖Turtle庫的安裝問題解決

    Python繪圖Turtle庫的安裝問題解決

    這篇文章主要介紹了Python繪圖中解決Turtle的安裝問題示例分析,也遇到過相同問題的同學可以借鑒參考下,希望能夠解決你的問題
    2021-10-10
  • python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細使用方法實例

    python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細使用方法實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細使用方法實例,需要的朋友可以參考下
    2020-02-02
  • python文件與路徑管理方法

    python文件與路徑管理方法

    這篇文章主要介紹了python文件與路徑管理方法,文章屬于python使用技巧的分享,下文圍繞文件與路徑管理相關(guān)內(nèi)容,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-02-02
  • Gradio機器學習模型快速部署工具quickstart

    Gradio機器學習模型快速部署工具quickstart

    這篇文章主要為大家介紹了Gradio機器學習模型快速部署工具quickstart,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • python用線性回歸預(yù)測股票價格的實現(xiàn)代碼

    python用線性回歸預(yù)測股票價格的實現(xiàn)代碼

    這篇文章主要介紹了python用線性回歸預(yù)測股票價格的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Python多進程fork()函數(shù)詳解

    Python多進程fork()函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于Python多進程fork()函數(shù)詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python爬取熱搜制作詞云

    python爬取熱搜制作詞云

    這篇文章主要介紹了python爬取百度熱搜制作詞云,首先爬取百度熱搜,至少間隔1小時,存入文件,避免重復(fù)請求,如果本1小時有了不再請求,存入數(shù)據(jù)庫,供詞云包使用,爬取熱搜,具體流程請需要的小伙伴參考下面文章內(nèi)容
    2021-12-12
  • python生成器generator用法實例分析

    python生成器generator用法實例分析

    這篇文章主要介紹了python生成器generator用法,實例分析了python生成器的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 實時獲取Python的print輸出流方法

    實時獲取Python的print輸出流方法

    今天小編就為大家分享一篇實時獲取Python的print輸出流方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python進行添加,讀取和刪除Word文檔屬性

    Python進行添加,讀取和刪除Word文檔屬性

    在Python中處理Word文檔時,對文檔屬性進行操作是一項重要的任務(wù),下面我們來看看如何使用Python實現(xiàn)對Word文檔屬性的添加,讀取和刪除操作吧
    2025-02-02

最新評論

镇巴县| 鹿泉市| 嘉鱼县| 佛坪县| 平果县| 博兴县| 博爱县| 泗阳县| 赤峰市| 关岭| 贵南县| 西充县| 武宣县| 镇赉县| 西吉县| 弋阳县| 集安市| 黔江区| 泉州市| 西城区| 衡阳县| 屏东县| 东兰县| 高平市| 南木林县| 凭祥市| 健康| 镇平县| 措勤县| 大宁县| 龙山县| 民勤县| 三河市| 长垣县| 凤庆县| 阿拉善盟| 承德县| 铜陵市| 丹巴县| 土默特左旗| 奈曼旗|