咱們已經獲取了網頁的源代碼,而且已經加入了異常處理,可是爲了實現咱們最終的目標,咱們至少還要作兩件事情
html
1. 分析網頁源代碼,找出哪些是咱們須要的內容正則表達式
2. 使用必定的方法將咱們須要的內容截取出來編程
那好,先來看看獲取的網頁源碼瀏覽器
這裏只是其中的一小段代碼,要是想看網頁源碼的話,能夠在瀏覽器上打開整個網頁的源碼函數
那麼怎麼分析網頁源碼學習
1. 大部分瀏覽器都有查看網頁源碼的功能,找到瀏覽器的這個功能並將源碼顯示出來spa
2. 對照源碼和網頁分析哪些內容是你想要的,說白了就是一個找規律的過程,這並不須要你擁有關於網頁編程方面的知識code
咱們再來看看咱們要實現的功能是什麼htm
獲取發佈人,段子內容,點贊數,評論數等信息,因此咱們應該在網頁中找到包含所有四個信息的網頁代碼都有什麼特徵get
你們能夠看到,咱們所須要的信息的代碼是從<div class="article block untagged開始的,而後一直到結束,固然不會像上面貼出來的代碼同樣少,經過每個<div class="article block untagged,咱們能夠找到咱們所須要的全部內容
<div class="article block untagged mb15" id='qiushi_tag_113842500'> <div class="author clearfix"> <a href="/users/12103976" target="_blank" rel="nofollow"> <img src="http://pic.qiushibaike.com/system/avtnew/1210/12103976/medium/20150718023701.jpg" alt="三十公分不含頭"/> </a> <a href="/users/12103976" target="_blank" title="三十公分不含頭"> <h2>三十公分不含頭</h2> </a> </div> <div class="content"> 看到某歌手再次吸毒被抓的新聞時我難免嘆了口氣,人家十幾年不唱歌了都還有錢吸毒,我TM每天上班連抽菸的錢都沒有。。 <!--1447765334--> </div> <div class="stats"> <span class="stats-vote"><i class="number">18977</i> 可笑</span> <span class="stats-comments"> <span class="dash"> · </span> <a href="/article/113842500" data-share="/article/113842500" id="c-113842500" class="qiushi_comments" target="_blank"> <i class="number">193</i> 評論 </a>
分析源代碼的過程很是很是重要,是爬蟲編程的核心,因此這個環節必定不能偷懶,慢慢來,即便你花兩三天時間來想,也是值得的
至於個人方法就比較笨,對照網頁上內容和源碼,而後將須要的內容一個一個比對,最後慢慢總結規律,好比,我在網頁上看到"三十公分不含頭"是發佈人的名字,因而我就在網頁源碼中找這個名字所在的地方,而後依次找段子內容,點贊數和評論數等,最後總結規律,看看包含這些信息的代碼有什麼特徵
別急,慢慢來
接下來就是從網頁源碼中獲取本身想要的內容了,那麼如何獲取呢?
答案是,正則表達式
正則表達式網上的資料有不少,我看了幾篇,寫得很亂,這自己就是一個很複雜的東西,對於數學很差的我來講,我但願能儘可能簡單的學習
因此我作了兩個列表,裏面收錄了關於正則表達式的經常使用的一些函數和表達式模式
我不建議你徹底背下來,用到哪一個函數就在列表裏面尋找,而後認真學習這個函數