1. 網(wǎng)絡爬蟲的定義
1.1 爬蟲是什么?
爬蟲的本質(zhì)就是模仿人類自動訪問網(wǎng)站的程序,你在瀏覽器中做的大部分動作基本都可以通過網(wǎng)絡爬蟲程序來實現(xiàn)。
網(wǎng)絡爬蟲指的是能夠自動化訪問網(wǎng)站的程序,其目的一般是提取和保存網(wǎng)頁信息。
爬蟲能做很多事,它結(jié)合數(shù)據(jù)分析可以做商業(yè)分析,還可以給應用程序的開發(fā)提供數(shù)據(jù)支持,比如:爬二手房成交均價是多少?節(jié)日期間酒店的價格…等等。
在數(shù)據(jù)量爆發(fā)式增長的互聯(lián)網(wǎng)時代,網(wǎng)站與用戶的溝通,本質(zhì)上就是數(shù)據(jù)的交換。以百度為例,你在搜索的時候會發(fā)現(xiàn)每個搜索結(jié)果下面都有一個百度快照。

點擊百度快照,你會發(fā)現(xiàn)網(wǎng)址的開頭有 baidu 這個詞,也就是說這個網(wǎng)頁屬于百度。

這是因為,百度這家公司會源源不斷地把千千萬萬個網(wǎng)站爬取下來,存儲在自己的服務器上。
你在百度搜索的本質(zhì)就是在它的服務器上搜索信息,你搜索到的結(jié)果是一些超鏈接,在超鏈接跳轉(zhuǎn)之后你就可以訪問其它網(wǎng)站了。
1.2 網(wǎng)絡信息的爬取流程
網(wǎng)絡爬蟲的流程主要可以分為三步,分別是:獲取網(wǎng)頁、解析網(wǎng)頁以及存儲數(shù)據(jù)。
獲取網(wǎng)頁,顧名思義就是獲取網(wǎng)頁信息,在網(wǎng)絡爬蟲技術(shù)中這里獲取的就是網(wǎng)頁源代碼。
解析網(wǎng)頁,指的是從網(wǎng)頁源代碼中提取想要的數(shù)據(jù),由于網(wǎng)頁的結(jié)構(gòu)有一定的規(guī)則,配合 Python 的一些第三方庫我們可以高效地從中提取網(wǎng)頁數(shù)據(jù)。
存儲數(shù)據(jù),就是將數(shù)據(jù)存儲下來。

2. 學習指南
2.1 爬蟲學習路徑

2.2 爬蟲課程的學習誤區(qū)
誤區(qū)1:認為同一個代碼可以爬取不同網(wǎng)頁的信息。
爬蟲程序不是萬能鑰匙。不同網(wǎng)頁結(jié)構(gòu)的爬蟲代碼也是不一樣的,我們要學習探索網(wǎng)頁結(jié)構(gòu),在各色各樣的網(wǎng)站中找到它的爬取方法。
誤區(qū)2:認為網(wǎng)絡上的所有信息都可以使用爬蟲技術(shù)獲取。
網(wǎng)絡上的信息并非都能隨意使用。濫用爬蟲程序可能會侵犯別人隱私,占用網(wǎng)站資源,甚至會觸犯法律風險,引發(fā)牢獄之災。在網(wǎng)絡世界中,有一個專門的 Robots 協(xié)議來規(guī)范爬蟲,維護網(wǎng)絡秩序。它可以告訴網(wǎng)絡爬蟲程序哪些內(nèi)容是可以獲取的,哪些內(nèi)容是不能獲取的。
2.3 爬蟲學習方法
在爬蟲課程中將深入學習一些 Python 模塊與庫的使用,除此之外還會學習大量的網(wǎng)絡請求、爬蟲的原理知識以及工具使用。

【學習方法】
1. 使用畫圖的方法去學習網(wǎng)絡原理
爬蟲的本質(zhì)是通過程序模仿人類上網(wǎng)的過程,你必須了解一些基本的網(wǎng)絡原理才能寫好爬蟲程序。
對于這些網(wǎng)絡原理,你更需要的是去理解,而不是死記硬背。當你感覺理解起來很痛苦時,你可以動手將你的理解畫出來。
比如網(wǎng)絡請求,它指的是我們從瀏覽器點開一個網(wǎng)絡鏈接再到我們看到實際網(wǎng)頁這一過程中的工作原理。這些工作原理如下圖:

以上圖為例,這一方法并不需要什么繪畫技巧,重要的是將你的想法畫出來,以此來加深你對這一知識點的印象。
2. 查詢網(wǎng)絡文檔去學習 HTML 語言

由于爬蟲獲取的信息大部分都是網(wǎng)頁的源代碼,這些源代碼基本都是使用 HTML 語言編寫的,所以 HTML 語言對于爬蟲的學習十分重要。對于HTML只需要簡單理解 HTML 語言的標簽結(jié)構(gòu),遇到不熟悉的標簽再去網(wǎng)上查詢即可滿足爬蟲對于 HTML 語言掌握水平的要求。
3. 通過實踐去學習瀏覽器開發(fā)者工具的使用

上圖展示的是瀏覽虎撲網(wǎng)時,打開瀏覽器開發(fā)者工具查看網(wǎng)頁元素。這部分的學習專注于實踐,因為幾乎所有的瀏覽器都有開發(fā)者工具,我們可以在日常網(wǎng)上沖浪的時候打開它,熟悉基本操作。
4. 爬蟲相關的模塊與庫需要堅持代碼練習
對于 Python 模塊與庫的知識,要通過練習、實操的方式熟悉這些代碼。
【總結(jié)】

end
-
瀏覽器
+關注
關注
1文章
1040瀏覽量
36045 -
程序
+關注
關注
117文章
3819瀏覽量
82329 -
爬蟲
+關注
關注
0文章
83瀏覽量
7328
發(fā)布評論請先 登錄
MCU的學習方法
快速的學習方法?
深度討論集成學習方法,解決AI實踐難題

評論