日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

零基础学习pythonrequests_requests库初体验

發布時間:2025/4/5 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 零基础学习pythonrequests_requests库初体验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

和urllib庫相比,requests庫更加深得人心,它不僅能夠重復地讀取返回的數據,而且還能自動確定響應內容的編碼。為了能讓大家直觀地看到這些變化,接下來,分別使用urllib庫和requests庫爬取百度網站中“傳智播客”關鍵字的搜索結果網頁。

(1)使用urllib庫以GET請求的方式爬取網頁,具體代碼如下:

# 導入請求和解析模塊

import urllib.request

import urllib.parse

# 請求的URL路徑和查詢參數

url = "http://www.baidu.com/s"

word = {"wd":"傳智播客"}

# 轉換成url編碼格式(字符串)

word = urllib.parse.urlencode(word)

# 拼接完整的URL路徑

new_url = url + "?" + word

# 請求報頭

headers ={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}

# 根據URL和headers構建請求

request = urllib.request.Request(new_url, headers = headers)

# 發送請求,并接收服務器返回的文件對象

response = urllib.request.urlopen(request)

# 使用read方法讀取獲取到的網頁內容,使用UTF-8格式進行解碼

html = response.read().decode('UTF-8')

print(html)

(2)使用requests庫以GET請求的方式爬取網頁,具體代碼如下:

# 導入requests庫

import requests

# 請求的URL路徑和查詢參數

url = "http://www.baidu.com/s"

param = {"wd": "傳智播客"}

# 請求報頭

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)

AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/51.0.2704.103 Safari/537.36"

}

# 發送GET請求,返回一個響應對象

response = requests.get(url, params=param, headers=headers)

# 查看響應的內容

print(response.text)

比較上述兩段代碼不難發現,使用requests庫減少了發送請求的代碼量。接下來,我們再從細節上體會一下requests庫的便捷之處,具體如下:

無須再轉換為URL路徑編碼格式,拼接完整的URL路徑。

無須再頻繁地為中文轉換編碼格式。

從發送請求的函數名稱,可以很直觀地判斷發送到服務器的方式。

另外,urlopen方法返回的是一個文件對象,需要調用read()方法一次性讀取;而get函數返回的是一個響應對象,可以訪問該對象的text屬性查看響應的內容。

這里雖然只初步介紹了requests庫的用法,但是我們也可以從中看出,整個程序的邏輯非常易于理解,更符合面向對象開發的思想,并且減少了代碼量,提高了開發效率,給開發人員帶來了便利。

總結

以上是生活随笔為你收集整理的零基础学习pythonrequests_requests库初体验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。