微吼云上線多路互動直播服務(wù) 加速多場景互動直播落地
729
2025-03-31
網(wǎng)絡(luò)爬蟲(又被稱作網(wǎng)絡(luò)蜘蛛,網(wǎng)絡(luò)機(jī)器人,網(wǎng)頁追逐者),可以按照一定的規(guī)則(網(wǎng)絡(luò)爬蟲的算法)自動瀏覽或抓取網(wǎng)絡(luò)中的信息,利用python可以很輕松的編寫爬蟲程序或者腳本。
@TOC
了解web前端
HTTP基本原理
HTTP(HpperText Transfer Protocol),即超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用廣泛的一種網(wǎng)絡(luò)協(xié)議。HTTP是利用TCP在Web服務(wù)器和客戶端之間傳輸信息的協(xié)議,客戶端使用Web瀏覽器發(fā)起HTTP請求給Web服務(wù)器,Web服務(wù)器發(fā)送被請求的信息給客戶端。
==HTTP協(xié)議常用的請求方法==
==HTTP狀態(tài)碼及其含義==
例如:狀態(tài)碼200,表示請求成功完成,狀態(tài)碼404,表示服務(wù)器找不到給定的資源。
瀏覽器中的請求與響應(yīng)
例如使用谷歌瀏覽器訪問百度官網(wǎng),查看請求和響應(yīng)的具體步驟如下:
==1==在谷歌瀏覽器輸入網(wǎng)址進(jìn)入百度官網(wǎng)
==2==按下F12鍵(或單擊鼠標(biāo)右鍵選擇”檢查“選項(xiàng)),審查頁面元素
==3==單擊谷歌瀏覽器調(diào)試工具中“Network”選項(xiàng),按下F5 鍵(或手動刷新頁面),單擊調(diào)試工具中的“Name”欄目下的網(wǎng)址,查看請求與響應(yīng)信息。
==Geral概述關(guān)鍵信息如下==
Request URL:請求的URL網(wǎng)址,也就是服務(wù)器的URL網(wǎng)址
Request Method:請求方式為==GET==
Status Code:狀態(tài)碼為==200==,即成功返回響應(yīng)。
Remote Address :服務(wù)器IP地址是==39.156.66.14:443==,端口號是==80==
請求模塊urllib
urllib是python自帶模塊,該模塊提供了一個(gè)urlopen()的方法,通過該方法指定URL發(fā)送網(wǎng)絡(luò)請求來獲取數(shù)據(jù),urllib提供了多個(gè)子模塊,如下圖所示
在使用urlopen()方法實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)請求時(shí),所返回的是一個(gè)“
重構(gòu)user_agent
User-Agent(簡稱UA),記錄了操作系統(tǒng)的信息和瀏覽器的信息
以www.baidu.com為例演示
當(dāng)不重構(gòu)ua時(shí),直接訪問網(wǎng)址,只會返回百度的部分源碼,因?yàn)榘俣茸R別出來我們是爬蟲
這時(shí)就需要重構(gòu)ua,偽裝自己是瀏覽器發(fā)起請求
查看瀏覽器ua的方法:按F12鍵打開Network,在request headers里面就可以看到瀏覽器的ua.
創(chuàng)建具有請求頭信息的Request對象,然后使用urlopen()方法向“百度”地址發(fā)送一個(gè)GET請求,利用字典添加請求頭信息最常用的用法就是修改User-Agent來偽裝瀏覽器,例如
headers = {“user-agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36”
}表示偽裝成谷歌瀏覽器進(jìn)行網(wǎng)絡(luò)請求,可以獲取百度的全部源代碼
以上就是爬蟲基礎(chǔ)知識,如果有改進(jìn)的建議,歡迎在評論區(qū)留言奧~
覺得不錯(cuò)的話三連支持一下~
HTTP Python 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。