0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

爬蟲(chóng)的學(xué)習(xí)方法

汽車(chē)電子技術(shù) ? 來(lái)源:安迪python學(xué)習(xí)筆記 ? 作者:安迪python學(xué)習(xí)筆記 ? 2023-02-23 14:11 ? 次閱讀

1. 網(wǎng)絡(luò)爬蟲(chóng)的定義

1.1 爬蟲(chóng)是什么?

爬蟲(chóng)的本質(zhì)就是模仿人類(lèi)自動(dòng)訪問(wèn)網(wǎng)站的程序,你在瀏覽器中做的大部分動(dòng)作基本都可以通過(guò)網(wǎng)絡(luò)爬蟲(chóng)程序來(lái)實(shí)現(xiàn)。

網(wǎng)絡(luò)爬蟲(chóng)指的是能夠自動(dòng)化訪問(wèn)網(wǎng)站的程序,其目的一般是提取和保存網(wǎng)頁(yè)信息。

爬蟲(chóng)能做很多事,它結(jié)合數(shù)據(jù)分析可以做商業(yè)分析,還可以給應(yīng)用程序的開(kāi)發(fā)提供數(shù)據(jù)支持,比如:爬二手房成交均價(jià)是多少?節(jié)日期間酒店的價(jià)格…等等。

在數(shù)據(jù)量爆發(fā)式增長(zhǎng)的互聯(lián)網(wǎng)時(shí)代,網(wǎng)站與用戶(hù)的溝通,本質(zhì)上就是數(shù)據(jù)的交換。以百度為例,你在搜索的時(shí)候會(huì)發(fā)現(xiàn)每個(gè)搜索結(jié)果下面都有一個(gè)百度快照。

poYBAGP3AvuADy7KAAFRrFj-Vpc312.png

點(diǎn)擊百度快照,你會(huì)發(fā)現(xiàn)網(wǎng)址的開(kāi)頭有 baidu 這個(gè)詞,也就是說(shuō)這個(gè)網(wǎng)頁(yè)屬于百度。

pYYBAGP3AweAH13zAADaSzHgA0s537.png

這是因?yàn)?,百度這家公司會(huì)源源不斷地把千千萬(wàn)萬(wàn)個(gè)網(wǎng)站爬取下來(lái),存儲(chǔ)在自己的服務(wù)器上。

你在百度搜索的本質(zhì)就是在它的服務(wù)器上搜索信息,你搜索到的結(jié)果是一些超鏈接,在超鏈接跳轉(zhuǎn)之后你就可以訪問(wèn)其它網(wǎng)站了。

1.2 網(wǎng)絡(luò)信息的爬取流程

網(wǎng)絡(luò)爬蟲(chóng)的流程主要可以分為三步,分別是:獲取網(wǎng)頁(yè)、解析網(wǎng)頁(yè)以及存儲(chǔ)數(shù)據(jù)。

獲取網(wǎng)頁(yè),顧名思義就是獲取網(wǎng)頁(yè)信息,在網(wǎng)絡(luò)爬蟲(chóng)技術(shù)中這里獲取的就是網(wǎng)頁(yè)源代碼。

解析網(wǎng)頁(yè),指的是從網(wǎng)頁(yè)源代碼中提取想要的數(shù)據(jù),由于網(wǎng)頁(yè)的結(jié)構(gòu)有一定的規(guī)則,配合 Python 的一些第三方庫(kù)我們可以高效地從中提取網(wǎng)頁(yè)數(shù)據(jù)。

存儲(chǔ)數(shù)據(jù),就是將數(shù)據(jù)存儲(chǔ)下來(lái)。

poYBAGP3AxeABLIOAAD7OG7uj38719.png

2. 學(xué)習(xí)指南

2.1 爬蟲(chóng)學(xué)習(xí)路徑

poYBAGP3AyOAVdE0AAX5R61A0Vg475.png

2.2 爬蟲(chóng)課程的學(xué)習(xí)誤區(qū)

誤區(qū)1:認(rèn)為同一個(gè)代碼可以爬取不同網(wǎng)頁(yè)的信息。

爬蟲(chóng)程序不是萬(wàn)能鑰匙。不同網(wǎng)頁(yè)結(jié)構(gòu)的爬蟲(chóng)代碼也是不一樣的,我們要學(xué)習(xí)探索網(wǎng)頁(yè)結(jié)構(gòu),在各色各樣的網(wǎng)站中找到它的爬取方法。

誤區(qū)2:認(rèn)為網(wǎng)絡(luò)上的所有信息都可以使用爬蟲(chóng)技術(shù)獲取。

網(wǎng)絡(luò)上的信息并非都能隨意使用。濫用爬蟲(chóng)程序可能會(huì)侵犯別人隱私,占用網(wǎng)站資源,甚至?xí)|犯法律風(fēng)險(xiǎn),引發(fā)牢獄之災(zāi)。在網(wǎng)絡(luò)世界中,有一個(gè)專(zhuān)門(mén)的 Robots 協(xié)議來(lái)規(guī)范爬蟲(chóng),維護(hù)網(wǎng)絡(luò)秩序。它可以告訴網(wǎng)絡(luò)爬蟲(chóng)程序哪些內(nèi)容是可以獲取的,哪些內(nèi)容是不能獲取的。

2.3 爬蟲(chóng)學(xué)習(xí)方法

在爬蟲(chóng)課程中將深入學(xué)習(xí)一些 Python 模塊與庫(kù)的使用,除此之外還會(huì)學(xué)習(xí)大量的網(wǎng)絡(luò)請(qǐng)求、爬蟲(chóng)的原理知識(shí)以及工具使用。

poYBAGP3Ay6AYrHLAANEcoTAWGE292.png

【學(xué)習(xí)方法】

1. 使用畫(huà)圖的方法去學(xué)習(xí)網(wǎng)絡(luò)原理

爬蟲(chóng)的本質(zhì)是通過(guò)程序模仿人類(lèi)上網(wǎng)的過(guò)程,你必須了解一些基本的網(wǎng)絡(luò)原理才能寫(xiě)好爬蟲(chóng)程序。

對(duì)于這些網(wǎng)絡(luò)原理,你更需要的是去理解,而不是死記硬背。當(dāng)你感覺(jué)理解起來(lái)很痛苦時(shí),你可以動(dòng)手將你的理解畫(huà)出來(lái)。

比如網(wǎng)絡(luò)請(qǐng)求,它指的是我們從瀏覽器點(diǎn)開(kāi)一個(gè)網(wǎng)絡(luò)鏈接再到我們看到實(shí)際網(wǎng)頁(yè)這一過(guò)程中的工作原理。這些工作原理如下圖:

pYYBAGP3AzyAYN-sAAdifHmhvTs931.png

以上圖為例,這一方法并不需要什么繪畫(huà)技巧,重要的是將你的想法畫(huà)出來(lái),以此來(lái)加深你對(duì)這一知識(shí)點(diǎn)的印象。

2. 查詢(xún)網(wǎng)絡(luò)文檔去學(xué)習(xí) HTML 語(yǔ)言

pYYBAGP3A02AP7anAAIrBHC2uto503.png

由于爬蟲(chóng)獲取的信息大部分都是網(wǎng)頁(yè)的源代碼,這些源代碼基本都是使用 HTML 語(yǔ)言編寫(xiě)的,所以 HTML 語(yǔ)言對(duì)于爬蟲(chóng)的學(xué)習(xí)十分重要。對(duì)于HTML只需要簡(jiǎn)單理解 HTML 語(yǔ)言的標(biāo)簽結(jié)構(gòu),遇到不熟悉的標(biāo)簽再去網(wǎng)上查詢(xún)即可滿足爬蟲(chóng)對(duì)于 HTML 語(yǔ)言掌握水平的要求。

3. 通過(guò)實(shí)踐去學(xué)習(xí)瀏覽器開(kāi)發(fā)者工具的使用

poYBAGP3A1mAC8S7AAHRCBPRt4E271.png

上圖展示的是瀏覽虎撲網(wǎng)時(shí),打開(kāi)瀏覽器開(kāi)發(fā)者工具查看網(wǎng)頁(yè)元素。這部分的學(xué)習(xí)專(zhuān)注于實(shí)踐,因?yàn)閹缀跛械臑g覽器都有開(kāi)發(fā)者工具,我們可以在日常網(wǎng)上沖浪的時(shí)候打開(kāi)它,熟悉基本操作。

4. 爬蟲(chóng)相關(guān)的模塊與庫(kù)需要堅(jiān)持代碼練習(xí)

對(duì)于 Python 模塊與庫(kù)的知識(shí),要通過(guò)練習(xí)、實(shí)操的方式熟悉這些代碼。

【總結(jié)】

pYYBAGP3A36AJvo_AAGPZQ0PQYI722.png

end

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1007

    瀏覽量

    35189
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3749

    瀏覽量

    80676
  • 爬蟲(chóng)
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    6803
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCU的學(xué)習(xí)方法

    剛才在q群上有人發(fā)表了關(guān)于MCU的學(xué)習(xí)方法,在此分享下,看規(guī)格書(shū)(datasheet、errata sheet),看懂了,背熟了,看原理圖,理解了,看例子程序,理解透了,修改,開(kāi)始自己寫(xiě)程序,不知大家有沒(méi)有其他方法,可以在此分享下。
    發(fā)表于 05-23 10:01

    快速的學(xué)習(xí)方法?

    有老師跟我說(shuō)學(xué)習(xí)方法,直接從模塊化電路 一個(gè)一個(gè)的學(xué),不明白的再看電路基礎(chǔ)的相關(guān)章節(jié),這樣好嗎?有沒(méi)有 具體 有哪些模塊,求詳細(xì)說(shuō)下,,或有其他快速學(xué)習(xí)方法.請(qǐng)指點(diǎn)下.
    發(fā)表于 06-25 22:28

    Linux建議的學(xué)習(xí)方法

    宋寶華: 迭代螺旋法——關(guān)于Linux學(xué)習(xí)方法的血淚建議
    發(fā)表于 04-15 11:38

    統(tǒng)計(jì)的學(xué)習(xí)方法

    統(tǒng)計(jì)學(xué)習(xí)方法感知機(jī)
    發(fā)表于 07-15 10:33

    STM32的學(xué)習(xí)方法分享?

    STM32的學(xué)習(xí)方法
    發(fā)表于 08-14 04:00

    STM32的學(xué)習(xí)方法

    STM32學(xué)習(xí)方法
    發(fā)表于 09-28 06:18

    模擬電子電路的學(xué)習(xí)方法

    模擬電子電路的學(xué)習(xí)方法
    發(fā)表于 08-07 15:49 ?252次下載
    模擬電子電路的<b class='flag-5'>學(xué)習(xí)方法</b>

    嵌入式linux學(xué)習(xí)方法總結(jié)

    嵌入式linux學(xué)習(xí)方法總結(jié) 嵌入式linux的學(xué)習(xí)現(xiàn)在挺流行
    發(fā)表于 09-10 10:44 ?3514次閱讀

    第1章 ZigBee簡(jiǎn)介和學(xué)習(xí)方法

    ZigBee簡(jiǎn)介和學(xué)習(xí)方法很適合入門(mén)級(jí)別的人學(xué)習(xí)
    發(fā)表于 12-07 18:36 ?8次下載

    ZigBee 簡(jiǎn)介和學(xué)習(xí)方法

    zigbee簡(jiǎn)介以及學(xué)習(xí)方法,ZigBee的歷史發(fā)展前景。
    發(fā)表于 04-15 14:07 ?14次下載

    深度討論集成學(xué)習(xí)方法,解決AI實(shí)踐難題

    集成學(xué)習(xí)方法是一類(lèi)先進(jìn)的機(jī)器學(xué)習(xí)方法,這類(lèi)方法訓(xùn)練多個(gè)學(xué)習(xí)器并將它們結(jié)合起來(lái)解決一個(gè)問(wèn)題,在實(shí)踐中獲得了巨大成功,并成為機(jī)器學(xué)習(xí)領(lǐng)域的“常青
    發(fā)表于 08-16 11:40 ?741次閱讀
    深度討論集成<b class='flag-5'>學(xué)習(xí)方法</b>,解決AI實(shí)踐難題

    面向異質(zhì)信息的網(wǎng)絡(luò)表示學(xué)習(xí)方法綜述

    面向異質(zhì)信息的網(wǎng)絡(luò)表示學(xué)習(xí)方法綜述
    發(fā)表于 06-09 14:12 ?13次下載

    單片機(jī)學(xué)習(xí)方法總結(jié)資料分享

    單片機(jī)學(xué)習(xí)方法總結(jié)資料分享
    發(fā)表于 11-13 20:36 ?6次下載
    單片機(jī)<b class='flag-5'>學(xué)習(xí)方法</b>總結(jié)資料分享

    聯(lián)合學(xué)習(xí)在傳統(tǒng)機(jī)器學(xué)習(xí)方法中的應(yīng)用

    聯(lián)合學(xué)習(xí)在傳統(tǒng)機(jī)器學(xué)習(xí)方法中的應(yīng)用
    的頭像 發(fā)表于 07-05 16:30 ?715次閱讀
    聯(lián)合<b class='flag-5'>學(xué)習(xí)</b>在傳統(tǒng)機(jī)器<b class='flag-5'>學(xué)習(xí)方法</b>中的應(yīng)用

    梳理單片機(jī)學(xué)習(xí)方法、產(chǎn)品開(kāi)發(fā)流程

    梳理單片機(jī)學(xué)習(xí)方法、產(chǎn)品開(kāi)發(fā)流程
    的頭像 發(fā)表于 09-21 17:20 ?599次閱讀
    梳理單片機(jī)<b class='flag-5'>學(xué)習(xí)方法</b>、產(chǎn)品開(kāi)發(fā)流程