完全掌控 http請(qǐng)求的過(guò)程與原理?
http請(qǐng)求的過(guò)程與原理?工作過(guò)程分為四個(gè)步驟:1。建立客戶機(jī)和服務(wù)器之間的連接:客戶機(jī)點(diǎn)擊一個(gè)超鏈接,開(kāi)始HTTP工作,然后執(zhí)行TCP連接的三個(gè)握手過(guò)程。2. 建立連接后,客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求。請(qǐng)
http請(qǐng)求的過(guò)程與原理?
工作過(guò)程分為四個(gè)步驟:
1。建立客戶機(jī)和服務(wù)器之間的連接:客戶機(jī)點(diǎn)擊一個(gè)超鏈接,開(kāi)始HTTP工作,然后執(zhí)行TCP連接的三個(gè)握手過(guò)程。
2. 建立連接后,客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求。請(qǐng)求的格式是:URL、協(xié)議版本號(hào)、mime信息(包括請(qǐng)求修飾符、客戶端信息和可能的內(nèi)容)。
3. 在收到請(qǐng)求后,服務(wù)器將以以下格式給出相應(yīng)的響應(yīng)信息:狀態(tài)行(包括信息的協(xié)議版本號(hào))、成功或錯(cuò)誤代碼,后跟mime信息(包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容)。
4. 客戶端接收服務(wù)器返回的信息并通過(guò)瀏覽器顯示在用戶屏幕上,然后客戶端斷開(kāi)與服務(wù)器的連接。在從服務(wù)器接收到信息之后,客戶機(jī)向服務(wù)器發(fā)送一個(gè)確認(rèn)包。當(dāng)數(shù)據(jù)包被發(fā)送時(shí),意味著已經(jīng)完成了三次握手。
怎么把HTTP的響應(yīng)報(bào)文中的數(shù)據(jù)解析出來(lái)?
選擇“查看源文件”,您看到的HTML代碼就是HTTP消息正文。然后可以通過(guò)瀏覽器的開(kāi)發(fā)工具或插件查看消息頭。如果Firefox或ie中的httpwatch中存在firebug,則客戶端通過(guò)發(fā)送HTTP請(qǐng)求請(qǐng)求服務(wù)器訪問(wèn)資源。它由三部分組成:http請(qǐng)求、請(qǐng)求行和請(qǐng)求消息。!請(qǐng)求線:請(qǐng)求方法URI協(xié)議/版本!請(qǐng)求頭
請(qǐng)求體
零基礎(chǔ)小白如何在最短的時(shí)間快速入門(mén)python爬蟲(chóng)?
!我認(rèn)為,我們首先需要有Python的基礎(chǔ)。在有基礎(chǔ)的前提下,框架是最短時(shí)間內(nèi)實(shí)現(xiàn)爬蟲(chóng)的最快方式。這里我推薦scratch,它是一個(gè)基于python的開(kāi)源web爬蟲(chóng)框架。其易用性、靈活性、易擴(kuò)展性和跨平臺(tái)性等特點(diǎn)使其受到廣大用友的歡迎。
使用刮削也非常簡(jiǎn)單。您只需要關(guān)注spider文件,它實(shí)際上是web頁(yè)面上數(shù)據(jù)處理的一部分。以《詩(shī)詞王-爬行詩(shī)》為例。我們可以在spider中這樣寫(xiě):
上面的代碼整體上分為兩部分,一部分是提取網(wǎng)頁(yè)中的URL,另一部分是從詩(shī)歌細(xì)節(jié)頁(yè)面中提取需要爬網(wǎng)的內(nèi)容。我選擇在這里爬行的數(shù)據(jù)是詩(shī)歌作者、內(nèi)容、網(wǎng)站標(biāo)簽等等。
很方便嗎?如果不需要存儲(chǔ)數(shù)據(jù),這里就足夠了。定義項(xiàng)字段以爬網(wǎng)數(shù)據(jù)。如果需要在數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù),需要在管道中定義一個(gè)類來(lái)存儲(chǔ)數(shù)據(jù)
如上圖所示,定義了mongodb的類,這樣我們就可以在mongodb中存儲(chǔ)數(shù)據(jù)了。