更多爬虫请见:我的爬虫史
代码说明:
曾经模仿实现过下载淘宝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.youkuaiyun.com/bone_ace/article/details/50207535)