很多小伙伴在跟著視頻學(xué)習(xí)爬蟲(chóng)的時(shí)候總是能完成一個(gè)爬蟲(chóng),但自己獨(dú)立開(kāi)發(fā)就開(kāi)發(fā)不了,原因是自己并沒(méi)有網(wǎng)頁(yè)分析的能力,不懂得如何從網(wǎng)頁(yè)中獲取相應(yīng)的數(shù)據(jù),更有甚者連網(wǎng)絡(luò)分析的能力都沒(méi)有,請(qǐng)求頁(yè)面總是被服務(wù)器拒絕。實(shí)際上瀏覽器為我們提供的F12開(kāi)發(fā)者工具是一個(gè)非常不錯(cuò)的網(wǎng)頁(yè)分析和網(wǎng)絡(luò)分析的工具。接下來(lái)我們就來(lái)講講如何用F12開(kāi)發(fā)者工具進(jìn)行網(wǎng)頁(yè)和網(wǎng)絡(luò)分析吧。
網(wǎng)頁(yè)分析
爬蟲(chóng)的目的,就是從網(wǎng)頁(yè)中獲取到某一元素的某個(gè)值,這一點(diǎn)其實(shí)很簡(jiǎn)單,只要能定位到元素就可以獲取到它的值了。在小編的自動(dòng)化測(cè)試開(kāi)發(fā)輔助工具——F12開(kāi)發(fā)者工具介紹!中介紹了如何定位元素,在文末也介紹了另一種定位方式——css定位,實(shí)際上在python中有一個(gè)庫(kù)叫beautifulsoup,這個(gè)庫(kù)可以通過(guò)css來(lái)定位元素并獲取它的值,各位小伙伴可以前往beautifulsoup教程進(jìn)行學(xué)習(xí)。
另一個(gè)更加出名的xml解析庫(kù)叫l(wèi)xml,這個(gè)庫(kù)不止可以通過(guò)css定位元素,也可以用想xpath來(lái)進(jìn)行定位,詳情可以看:lxml教程
網(wǎng)絡(luò)分析
爬蟲(chóng)的基本動(dòng)作第一步就是向服務(wù)器發(fā)起請(qǐng)求并獲取響應(yīng),然后才是對(duì)響應(yīng)的處理,因?yàn)轫憫?yīng)一般對(duì)應(yīng)的是頁(yè)面的HTML代碼,所以網(wǎng)頁(yè)分析的作用在這里體現(xiàn)。然而爬蟲(chóng)請(qǐng)求服務(wù)器一般都會(huì)被發(fā)現(xiàn),因?yàn)榕老x(chóng)沒(méi)有請(qǐng)求頭的掩護(hù)(相當(dāng)于直接告訴瀏覽器我是爬蟲(chóng)),在F12開(kāi)發(fā)者工具中有一項(xiàng)網(wǎng)絡(luò)功能,它可以記錄頁(yè)面和服務(wù)器之間的請(qǐng)求和響應(yīng)。
點(diǎn)擊即可看到詳細(xì)的信息:
從請(qǐng)求和返回的響應(yīng)中我們可以獲得很多內(nèi)容,在上述圖中已有注明,主要對(duì)爬蟲(chóng)開(kāi)發(fā)有關(guān)的有cookie,瀏覽器的user-agent,請(qǐng)求時(shí)傳遞的參數(shù)和請(qǐng)求url分析等。其實(shí)這個(gè)工具還給我們提供了很多內(nèi)容,但小編水平有限只能用這么多,小伙伴們可以繼續(xù)往深處挖掘。
小結(jié)
對(duì)于爬蟲(chóng)開(kāi)發(fā)而言,網(wǎng)絡(luò)分析和網(wǎng)頁(yè)分析才是爬蟲(chóng)開(kāi)發(fā)的要點(diǎn),python代碼編程只是實(shí)現(xiàn)爬蟲(chóng)的方式罷了。如果你還學(xué)不會(huì)爬蟲(chóng)編程,請(qǐng)好好思考你是否已經(jīng)學(xué)會(huì)了網(wǎng)絡(luò)分析和網(wǎng)頁(yè)分析。或者更簡(jiǎn)單地:你是否學(xué)會(huì)了使用F12開(kāi)發(fā)者工具。以上就是這篇文章的全部?jī)?nèi)容了,更多F12開(kāi)發(fā)者工具的其他有用的內(nèi)容可以關(guān)注W3Cschool的后續(xù)內(nèi)容,小編在這里等著你!