出于興趣,最近在學(xué)習(xí)一個java的網(wǎng)絡(luò)爬蟲框架webmagic,其實(shí)就是用一個程序來把下載任務(wù)自動化,比如你想下載一張圖片很快,直接右鍵點(diǎn)擊下載就可以了,但如果下載1000張就需要花些時間了。但計(jì)算機(jī)可以把這一系列步驟自動化,而你只需要制定規(guī)則就行了。折騰了幾天好不容易入門了,興沖沖地準(zhǔn)備爬取知乎的頁面,想把知乎上超過1000贊的回答內(nèi)容下載下來??沙绦騽倖?,就收到來自知乎的服務(wù)器的信息:403 Forbidden error,拒絕了我的請求。在加入了爬蟲QQ群向大家請教之后才明白,原來是需要把自己偽裝成一個“用戶”才可以騙過服務(wù)器,否則服務(wù)器默認(rèn)地會拒絕類似的請求。
這讓我對網(wǎng)絡(luò)協(xié)議開始產(chǎn)生了興趣,我在瀏覽器輸入地址回車訪問頁面的動作,本質(zhì)上而言與電腦上一行命令的效果并沒有太大的區(qū)別,服務(wù)器并不知道這些,它所知道的就是有來自湖南長沙的一個連接請求。原來服務(wù)器并不知道發(fā)過來的請求是來自真正的用戶還是經(jīng)過偽裝的爬蟲,正如那句名言“在網(wǎng)絡(luò)上,沒人知道坐在你對面的是人還是狗”。那么,從我按下回車的瞬間到知乎那賞心悅目的頁面地展現(xiàn)在瀏覽器上,這背后到底發(fā)生了些什么?記得上計(jì)算機(jī)網(wǎng)絡(luò)的時候也聽過老師介紹TCP/ip協(xié)議的分層、路由器轉(zhuǎn)發(fā)、傳輸延遲、中間人攻擊等知識,然而現(xiàn)在已經(jīng)全部還給老師了。剛好讀到《圖解HTTP》這本書,簡單地介紹了協(xié)議分層、HTTP狀態(tài)碼、HTTP首部信息、WEB安全等概念,大部分都挺好理解,下面就把我總結(jié)的前七章的思維導(dǎo)圖發(fā)上來,有興趣的朋友可以下載來看。

看不清圖片的點(diǎn)擊這里下載
p.s. 首次提交webmagic的代碼通過了,就是那個爬取知乎頁面的程序,好興奮 :)。
 
  | 
新聞熱點(diǎn)
疑難解答
圖片精選