照葫蘆畫瓢抓數據1:用sublime和網頁源代碼提取數據

照葫蘆畫瓢抓數據1:用sublime和網頁源代碼提取數據

終於開始正式爬取數據的學習啦,我是數據小白,只是看著大佬們傳授數據心得,終於下定決心開始學習。開個欄,寫寫學著造輪子的心得和遇到的問題,目標是爬蟲王~

之前看過一些專欄,前期目標是用現有工具收集數據/爬蟲,然後中期打好python html css SQL 基礎,後期從靜態網站開始,慢慢學動態、反反爬、多線程、攻克驗證碼(話說現在知乎都要點擊倒立字體來驗證登陸了T_T)。順道再學點數據分析可視化,中間會借鑒學習大佬們的經驗,也會遇到很多bug,還請大家多多指教

來正題,不會爬蟲怎麼獲取數據? @胖二

剛剛新鮮跟著學習的方法,比如這個,收集手機品牌信息,數據比較規整,可以右鍵查看網頁源代碼,然後copy到sublime上面;sublime支持正則表達式,找到想要的數據對應的源碼,例如:

<li><a href="/pioneer/" target="_blank"><img src="p.abcache.com/image/bra" alt="先鋒"/></a></li> 下面是另一行

<li><a href="/toshiba/" target="_blank"><img data-original="p.abcache.com/image/bra" alt="東芝"/></a></li>

這裡我自己試試發現一個問題,img 給了src 和 data-original 兩種屬性,所以照原先<li><a href=".+" target=".+"><img data-original=".+" alt=".+"/></a></li>的正則表達式篩選,會漏掉一些手機品牌信息,雖然不太懂,但是擴大一下範圍,改成<li><a href=".+" target=".+"><img .+ alt=".+"/></a></li>再試一下,就可以篩選全部的數據了。

然後find all, copy, 替換原代碼,再用<li><a href=".+" target="_blank"><img .+ alt="篩去刪除品牌前面的字元;用"/></a></li>全選篩除後續字元,就可以了。。。嗎???

出問題了,有多餘的非相關數據,如下:

回到源碼看一下:

這裡的均符合我們正則表達式的篩選規則,但是在alt="文本" 後多了width_="72" height="72" border="0"的額外參數設置,所以目前還要解決這個問題,是乾脆直接構建更精準的正則表達式呢?還是分次篩選刪除呢?還想請了解的大佬和原作 @胖二 不吝指點。

謝謝大家,有新方法我會更新,下期試試excel笨人複製網頁規整數據。

——————————————————————————————————————

親測有效笨方法:.+" width_="72" height="72" border="0再度找到多餘數據,全選刪除;

但是還是希望能有精確直接的方法,一步到位選擇所需數據,要啃正則表達式啦

推薦閱讀:

網站建設—1 從擁有一個域名開始
楊藝教你交誼舞【共216個=34+95+87網頁】
一粟好友網頁分析1
HTML
(最新整理)國內網頁設計網站網址大全 - Web 開發 / HTML(CSS)

TAG:爬蟲計算機網路 | 網頁 | 數據 |