最好學(xué)習(xí)一下,不要求熟悉,但必須要會,我們爬蟲所爬取的網(wǎng)頁數(shù)據(jù)大部分都會直接或間接嵌套在html標(biāo)簽或?qū)傩灾校绻銓tml一點都不了解,也就無從談及數(shù)據(jù)的解析和提取,下面我簡單介紹一下python爬蟲的學(xué)習(xí)過程,感興趣的朋友可以嘗試一下:
基礎(chǔ)html知識
這個是最基本也是必須的,首先,學(xué)習(xí)網(wǎng)絡(luò)爬蟲,你就需要學(xué)習(xí)html知識,網(wǎng)頁是用html寫的,數(shù)據(jù)自然也會嵌套在其中,無非就是某一個標(biāo)簽或?qū)傩裕绻銓tml一點都不了解,也就無從談及解析規(guī)則的編寫,數(shù)據(jù)也就無從提取,不要求多么熟悉、精通html,但基本的標(biāo)簽、屬性必須要能看懂,如果你沒有這方面基礎(chǔ)的話,建議學(xué)習(xí)一下,初學(xué)入門html,也主要以記憶為主,很快就能掌握:
基本爬蟲庫
基礎(chǔ)的html知識掌握后,就是網(wǎng)絡(luò)爬蟲的編寫,這里可以從一些簡單易用、容易上手的爬蟲庫開始,比較常見的就是urllib、requests、beautifulsoup、lxml,官方教程非常詳細(xì),先獲取網(wǎng)頁數(shù)據(jù),然后再編寫解析規(guī)則提取即可,對于大部分靜態(tài)網(wǎng)頁來說,都可以輕松爬取,動態(tài)網(wǎng)頁數(shù)據(jù)的提取可能需要抓包分析(數(shù)據(jù)不會直接在網(wǎng)頁源碼中看到),但基本原理類似,也是先獲取數(shù)據(jù),然后再解析提取:
專業(yè)爬蟲框架
基本爬蟲庫熟悉后,大部分網(wǎng)頁數(shù)據(jù)都可以爬取,但需要反復(fù)造輪子,效率不高,也不易于后期維護(hù)和擴(kuò)展,這里可以學(xué)習(xí)一下專業(yè)強大的爬蟲框架,python來說,比較受歡迎、也比較流行的就是scrapy,框架成熟、穩(wěn)定,可擴(kuò)展性強,只需編寫少量代碼即可快速開啟一個爬蟲程序,初學(xué)入門來說也非常友好,官方文檔豐富,社區(qū)活躍,資料齊全,各個模塊組件都是獨立開源的,后期研究學(xué)習(xí)也非常不錯:
總之,python爬蟲對html要求不高,但必須要了解,能看懂基本的網(wǎng)頁結(jié)構(gòu)、標(biāo)簽和屬性,后期才能編寫具體的解析規(guī)則提取數(shù)據(jù),建議多看多練,熟悉一下scrapy框架的使用,網(wǎng)上也有相關(guān)教程和資料,介紹的非常詳細(xì),感興趣的話,可以搜一下,希望以上分享的內(nèi)容能對你有所幫助吧,也歡迎大家評論、留言進(jìn)行補充。