對(duì)于一個(gè)優(yōu)秀的爬蟲工程師而言,要善于發(fā)現(xiàn)網(wǎng)頁元素的規(guī)律,并且能從中提煉出有效的信息。因此,在動(dòng)手編寫爬蟲程序前,必須要對(duì)網(wǎng)頁元素進(jìn)行審查。本節(jié)將講解如何使用“瀏覽器”審查網(wǎng)頁元素。 瀏覽器都自帶檢查元素的功能,不同的瀏覽器對(duì)該功能的叫法不同,谷歌(Chrome)瀏覽器稱為“檢查”,而Firefox則稱“查看元素”,盡管如此,但它們的功卻是相同的,本教程推薦使用谷歌瀏覽器。 檢查百度首頁下面以檢查百度首頁為例:首先使用Chrome瀏覽器打開百度,然后在百度首頁的空白處點(diǎn)擊鼠標(biāo)右鍵(或者按快捷鍵:F12),在出現(xiàn)的會(huì)話框中點(diǎn)擊“檢查”,并進(jìn)行如圖所示操作: 點(diǎn)擊審查元素按鈕,然后將鼠標(biāo)移動(dòng)至您想檢查的位置,比如百度的輸入框,然后單擊,此時(shí)就會(huì)將該位置的代碼段顯示出來(如圖1所示)。最后在該代碼段處點(diǎn)擊右鍵,在出現(xiàn)的會(huì)話框中選擇Copy選項(xiàng)卡,并在二級(jí)會(huì)話框內(nèi)選擇“Copyelement”,如下所示: 百度輸入框的代碼如下所示: <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off"> 12復(fù)制代碼類型:[python] 依照上述方法,您可以檢查頁面內(nèi)的所有元素。 檢查網(wǎng)頁結(jié)構(gòu)對(duì)于爬蟲而言,檢查網(wǎng)頁結(jié)構(gòu)是最為關(guān)鍵的一步,需要對(duì)網(wǎng)頁進(jìn)行分析,并找出信息元素的相似性。下面以貓眼電影網(wǎng)為例,檢查每部影片的HTML元素結(jié)構(gòu)。如下所示: 第一部影片的代碼段如下所示: <div class="board-item-main"> <div class="board-item-content"> <div class="movie-item-info"> <p class="name"><a href="/films/1299372" title="你好,李煥英" data-act="boarditem-click" data-val="{movieId:1299372}">你好,李煥英</a></p> <p class="star"> 主演:賈玲,張小斐,沈騰 </p> <p class="releasetime">上映時(shí)間:2021-02-12</p> </div> <div class="movie-item-number score-num"> <p class="score"><i class="integer">9.</i><i class="fraction">5</i></p> </div> </div> </div>12345678910111213復(fù)制代碼類型:[python] 接下來檢查第二部影片的代碼,如下所示: <div class="board-item-main"> <div class="board-item-content"> <div class="movie-item-info"> <p class="name"><a href="/films/553231" title="心靈奇旅" data-act="boarditem-click" data-val="{movieId:553231}">心靈奇旅</a></p> <p class="star"> 主演:杰米·??怂?蒂娜·菲,菲利西亞·拉斯海德 </p> <p class="releasetime">上映時(shí)間:2020-12-25</p> </div> <div class="movie-item-number score-num"> <p class="score"><i class="integer">9.</i><i class="fraction">3</i></p> </div> </div> </div>12345678910111213復(fù)制代碼類型:[javascript] 經(jīng)過對(duì)比發(fā)現(xiàn),除了每部影片的信息不同之外,它們的HTML結(jié)構(gòu)是相同的,比如每部影片都使用<dd></dd>標(biāo)簽包裹起來。這里我們只檢查了兩部影片,在實(shí)際編寫時(shí),你可以多檢查幾部,從而確定它們的HTML結(jié)構(gòu)是相同的。 提示:通過檢查網(wǎng)頁結(jié)構(gòu),然后發(fā)現(xiàn)規(guī)律,這是編寫爬蟲程序最為重要的一步。 |
|