Python練習,網路小爬蟲(初級),python練習爬蟲

來源:互聯網
上載者:User

Python練習,網路小爬蟲(初級),python練習爬蟲

  最近還在看Python版的rcnn代碼,附帶練習Python編程寫一個小的網路爬蟲程式。

抓取網頁的過程其實和讀者平時使用IE瀏覽器瀏覽網頁的道理是一樣的。比如說你在瀏覽器的地址欄中輸入    www.baidu.com    這個地址。開啟網頁的過程其實就是瀏覽器作為一個瀏覽的“用戶端”,向伺服器端發送了 一次請求,把伺服器端的檔案“抓”到本地,再進行解釋、展現。HTML是一種標記語言,用標籤標記內容並加以解析和區分。瀏覽器的功能是將擷取到的HTML代碼進行解析,然後將原始的代碼轉變成我們直接看到的網站頁面。

  統一資源標誌符(Universal Resource Identifier, URI), 統一資源定位器(Uniform Resource Locator,URI),URL是URI的一個子集。

  總的來說,網路爬蟲的原理很簡單,就是通過你事先給定的一個URL,從這個URL開始爬,下載每一個URL的HTML代碼,根據你要抓取的內容,觀察HTML代碼的規律性,寫出相應的Regex,將所需的內容的HTML代碼摳出來,儲存在列表中,並按具體要求處理扣出來的代碼,這就是網路爬蟲,其實就是一個對若干有規律的網頁的HTML代碼進行處理的程式。(當然,這隻是簡單的小爬蟲,對於一些大型爬蟲,可以設定有很多線程分別處理每一次擷取到的URL地址)。其中要實現Regex的部分內容,應該匯入re包,要實現URL的載入,閱讀功能需要匯入urllib2包。

  顯示網頁代碼:

import urllib2response = urllib2.urlopen('http://www.baidu.com/')html = response.read()print html

  當然,在請求伺服器服務的過程中,也會產生異常:URLError在沒有網路連接(沒有路由到特定伺服器),或者伺服器不存在的情況下產生。

  對網頁的HTML代碼進行處理:

import urllib2import redef getimg(html):    reg = r'src="(.+?\.jpg)" pic_ext'    imgre = re.compile(reg)     imglist = re.findall(imgre,html)            return imglist

上面代碼找到參數HTML頁面中所有圖片的URL,並且分別儲存在列表中,然後返回整個列表。程式執行結果如下:

 

整篇文章比較低級,還望各位看官不吝賜教。除了程式中所用到了這些基本的方式,還有更強大的Python爬蟲工具包Scrapy。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.