python網路爬蟲進入(一)——簡單的部落格爬行動物

來源:互聯網
上載者:User

標籤:

最近。對於圖形公眾號。互連網收集和閱讀一些瘋狂的-depth新聞和有趣,發人深思文本注釋,並選擇最佳的發表論文數篇了。但看著它的感覺是一個麻煩的一人死亡。尋找一個簡單的解決方案的方法,看看你是否可以把互連網上的資訊自己主動收集,然後,他們使用一個統一的篩選。可惜,最近準備學習的知識網路爬蟲,於是按照網上的教程要學會嘗試寫自己的一個小爬蟲,嘻嘻,韓寒的部落格是用來攀爬。


第一個完整的代碼貼上來,根據假設,朋友們需要測試。請安裝python相關環境,存。再按F5執行。

#匯入urllib庫,python訪問網頁必須庫import urllib#時間類庫import time#定義一個URL數組用來存放捕獲的URL地址。也就是須要爬的文字地址路徑url = [''] * 50#定義link變數,用來記錄第幾個URL地址link = 1#迴圈捕獲部落格檔案夾第一頁全部的文章連結。並下載#定義con變數來儲存urllib.urlopen開啟韓寒部落格的檔案夾地址,特別注意下'+str(page)+',用來變化每一頁檔案夾地址的con = urllib.urlopen('http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html').read()#變數title用來儲存con變數中找到<a title=開頭元素的位置title = con.find(r'<a title=')#變數href用來儲存con變數中找到href='開頭元素的位置href = con.find(r'href=',title)#變數html用來儲存con變數中找到.html開頭元素的位置html = con.find(r'.html',href)#儲存第一個串連地址url[0] = con[href + 6:html + 5]content = urllib.urlopen(url[0]).read()open(r'hanhan/'+url[0][-26:],'w+').write(content)print '0 have downloaded',url[0]#迴圈捕獲每一篇文章的地址,並儲存在URL數組中while title != -1 and href != -1 and html != -1 and link < 50:    #con[href + 6:html + 5]是用來取con字串href後6位到html倒數5位之間的字串    url[link] = con[href + 6:html + 5]    #開啟讀取每一篇文章地址。並儲存在content中    content = urllib.urlopen(url[link]).read()    #開啟hanhan這個檔案夾,假設裡面沒有url[link][-26:]這個字串命名的檔案。便將content裡的內容寫入。命名為url[link][-26:]    open(r'hanhan/'+url[link][-26:],'w+').write(content)    print link,'have downloaded',url[link]    title = con.find(r'<a title=',html)    href = con.find(r'href=',title)    html = con.find(r'.html',href)    #自增記數    link = link +1

這個爬蟲實現的功能還是非常簡陋的,但作為入門我認為還是夠的。它僅僅是實現了儲存部落格第一頁檔案夾全部文章的HTML檔案,並沒有抓取特定的內容予以儲存。


還有我認為有編程基礎的人,看起來應該不是非常費力。主要的思想非常easy,就是先爬地址,然後爬一個地址就下地址相應的網頁,接著儲存為。

我個人認為。這段代碼還是有點邋遢。不夠簡潔明了。希望通過以後的學習能寫出品質更高的代碼。

有些看裡面涉及的方法python文檔可以發現,這是不難,幾乎每一句裡面我都標有注意事項。

執行:


python網路爬蟲進入(一)——簡單的部落格爬行動物

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.