1號小爬蟲:普通的爬蟲,下載百度桌布

九茶發表於2015-12-07

更多爬蟲請見:我的爬蟲史

程式碼說明:

曾經模仿實現過下載淘寶MM圖片的爬蟲,現在重新拾起爬蟲,也是先從下載圖片開始。本爬蟲用來下載百度桌布(傳送門)。

1號小爬蟲主要包括兩個步驟:第一步用urllib2.urlopen()和read()方法獲取網頁原始碼,第二步用正規表示式獲取圖片的url,並用urllib.urlretrieve()方法下載到本地。

主要的難點應該就在正規表示式的編寫了,還有一個知識點就是:在儲存圖片的時候,命名的同時可以指定絕對路徑。


原始碼:

#encoding=utf-8
import urllib
import urllib2
import re

class Ordinary_spider(object):
    """ 普通的爬蟲 ,功能:下載筆記本桌布圖片 """
    def __init__(self, url):
        self.url = url;
        self.myDownload(self.url)

    def getHtml(self, url):
        """ 獲取網頁原始碼 """
        page = urllib2.urlopen(url)
        html = page.read()
        return html

    def getImg(self, html):
        """ 從原始碼中獲取圖片的url,再根據這個url下載圖片 """
        i = 1
        reg = "\"objURL\":\"(http://.*)\""    
        regg = re.compile(reg)
        urllist = regg.findall(html)        ## 獲取圖片的url,結果返回一個列表
        for url in urllist:         ## 下載圖片
            fname = 'G:\\Temp\\IMG_download\\%d.jpg'%i      ## 圖片的名字,指定絕對路徑
            urllib.urlretrieve(url, fname)
            print "第 %d 張Finish:"%i,url
            i += 1

    def myDownload(self, url):
        html = self.getHtml(url)
        self.getImg(html)
        print "下載完成!"



轉載請註明出處,謝謝!(原文連結:http://blog.csdn.net/bone_ace/article/details/50207535

相關文章