requests模塊可以用來獲取網(wǎng)絡(luò)數(shù)據(jù);
那么對(duì)于爬蟲來說,要獲取下圖網(wǎng)頁(yè)中的內(nèi)容,就需要網(wǎng)頁(yè)的URL。
復(fù)制鏈接方法是,打開網(wǎng)頁(yè),點(diǎn)擊鏈接框,右鍵選擇復(fù)制。
requests.get()函數(shù)可用于模擬瀏覽器請(qǐng)求網(wǎng)頁(yè)的過程,在Python語(yǔ)言中使用該函數(shù),就能夠獲取網(wǎng)頁(yè)數(shù)據(jù)。
get()函數(shù)中傳入要訪問網(wǎng)頁(yè)的URL,就像瀏覽器打開URL一樣。
(1)獲取網(wǎng)頁(yè)內(nèi)容的步驟
(2)代碼實(shí)現(xiàn)
# 使用import導(dǎo)入requests模塊 import requests # 將網(wǎng)頁(yè)鏈接賦值給url url = "https://*****************/" # 使用requests.get()方法獲取url的內(nèi)容,將結(jié)果賦值給response response = requests.get(url) # 輸出response print(response)
返回的response對(duì)象,就是響應(yīng)消息;
(3)獲取狀態(tài)碼
在瀏覽器中查看Response Headers中的信息就能夠找到status:200,狀態(tài)碼200代表此次請(qǐng)求執(zhí)行成功。
使用.status_code屬性就可以查看狀態(tài)碼,這里輸出的狀態(tài)碼數(shù)據(jù)類型是整型
import requests url = "https://nocturne-spider.baicizhan.com/2020/07/29/example-post-3/" response = requests.get(url) statusCode = response.status_code print(statusCode)
而只有狀態(tài)碼返回為200時(shí),才能夠成功獲取到網(wǎng)頁(yè)內(nèi)容。
為滿足上面的運(yùn)行邏輯,我們要使用條件判斷語(yǔ)句if..else先判斷狀態(tài)碼,當(dāng)狀態(tài)碼等于200時(shí),再進(jìn)行下一步操作。
if response.status_code == 200: print(response.status_code) else: print("請(qǐng)求數(shù)據(jù)失敗")
(4)提取信息,獲取內(nèi)容
通過請(qǐng)求URL,獲取到了Web服務(wù)器返回的信息,
要用.text屬性,該屬性能夠?qū)@取到的信息提取出來。
網(wǎng)頁(yè)內(nèi)容多,我們可以用切片(遵循左閉右開,將字符串進(jìn)行分割)方法,輸出前1000個(gè)字符;
if response.status_code == 200: content = response.text[:1000] print(content) else: print("請(qǐng)求數(shù)據(jù)失敗")
(5)HTML
剛剛輸出的內(nèi)容是HTML語(yǔ)言,它是由許多的標(biāo)簽組成,這些標(biāo)簽構(gòu)成網(wǎng)頁(yè)的內(nèi)容;
這個(gè)就是類似輸出的HTML語(yǔ)言
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2"> <meta name="theme-color" content="#222"> <meta name="generator" content="Hexo 5.1.1"> <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png"> <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png"> <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png"> <link rel="mask-icon" href="/images/logo.svg" color="#222"> <link rel="stylesheet" href="/css/main.css"> <link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">
文章來源:http://www.zghlxwxcb.cn/news/detail-837238.html
(6)總結(jié)
HTML是構(gòu)成網(wǎng)頁(yè)的標(biāo)記語(yǔ)言。
URL指定了要訪問文檔的具體地址。
HTTP協(xié)議規(guī)定了文檔的傳遞方式。
爬蟲就是根據(jù)URL,通過HTTP協(xié)議去獲取HTML內(nèi)容。文章來源地址http://www.zghlxwxcb.cn/news/detail-837238.html
到了這里,關(guān)于Python爬蟲基礎(chǔ):使用requests模塊獲取網(wǎng)頁(yè)內(nèi)容的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!