日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎樣使用Requests模塊抓取網(wǎng)頁?

?爬取網(wǎng)頁其實就是通過URL獲取網(wǎng)頁信息,網(wǎng)頁信息的實質(zhì)是一段添加了JavaScript和CSS的HTML代碼。Python提供了一個抓取網(wǎng)頁信息的第三方模塊requests,requests模塊自稱“HTTP for Humans”,直譯過來的意思是專門為人類而設(shè)計的HTTP模塊,該模塊支持發(fā)送請求,也支持獲取響應(yīng)。

創(chuàng)新互聯(lián)建站專注于大安企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。大安網(wǎng)站建設(shè)公司,為大安等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

1.發(fā)送請求

requests模塊提供了很多發(fā)送HTTP請求的函數(shù),常用的請求函數(shù)具體如表10-1所示。

表10-1 requests模塊的請求函數(shù)

2.獲取響應(yīng)

requests模塊提供的Response 類對象用于動態(tài)地響應(yīng)客戶端的請求,控制發(fā)送給用戶的信息,并且將動態(tài)地生成響應(yīng),包括狀態(tài)碼、網(wǎng)頁的內(nèi)容等。接下來通過一張表來列舉Response類可以獲取到的信息,如表10-2所示。

表10-2 Response 類的常用屬性

接下來通過一個案例來演示如何使用requests模塊抓取百度網(wǎng)頁,具體代碼如下:

# 01 requests baidu
import requests
base_url = 'http://www.baidu.com'
#發(fā)送GET請求
res = requests.get (base_url)
print("響應(yīng)狀態(tài)碼:{}".format(res.status_code)) #獲取響應(yīng)狀態(tài)碼
print("編碼方式:{}".format(res.encoding)) #獲取響應(yīng)內(nèi)容的編碼方式
res.encoding = 'utf-8' #更新響應(yīng)內(nèi)容的編碼方式為UIE-8
print("網(wǎng)頁源代碼:\n{}".format(res.text)) #獲取響應(yīng)內(nèi)容

以上代碼中,第2行使用import導(dǎo)入了requests模塊;第3~4行代碼根據(jù)URL向服務(wù)器發(fā)送了一個GET請求,并使用變量res接收服務(wù)器返回的響應(yīng)內(nèi)容;第5~6行代碼打印了響應(yīng)內(nèi)容的狀態(tài)碼和編碼方式;第7行將響應(yīng)內(nèi)容的編碼方式更改為“utf-8”;第8行代碼打印了響應(yīng)內(nèi)容。運行程序,程序的輸出結(jié)果如下:

響應(yīng)狀態(tài)碼:200
編碼方式:ISO-8859-1
網(wǎng)頁源代碼:

charset=utf-8>always name=referrer>com/r/www/cache/bdorz/baidu.min.css>百度一下,你就知道
…省略N行…

值得一提的是,使用requests模塊爬取網(wǎng)頁時,可能會因為沒有連接網(wǎng)絡(luò)、服務(wù)器連接失敗等原因?qū)е庐a(chǎn)生各種異常,最常見的兩個異常是URLError和HTTPError,這些網(wǎng)絡(luò)異常可以使用 try…except 語句捕獲與處理。


分享名稱:怎樣使用Requests模塊抓取網(wǎng)頁?
鏈接地址:http://m.5511xx.com/article/dhdcche.html