1号小爬虫:普通的爬虫,下载百度壁纸

更多爬虫请见:我的爬虫史

代码说明:

曾经模仿实现过下载淘宝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)

你可能感兴趣的:(爬虫,python,百度壁纸)