学习python一段时间了,写了一个图片的小小爬虫,分享下,不喜勿喷!
#coding=utf-8 ''' Created on 2015-5-22 @author: 悦文 ''' import re import urllib def getHtml(url): #第一次忘写了参数,⊙�⊙b汗 html=urllib.urlopen(url) #获取给定网址的页面源代码,是一个对象文件 pageContent=html.read() #读取网页文件中的内容 #html.close() #关闭sockit return pageContent #返回读取网页文件中的内容 #print url.geturl() #打印请求的网址 #print pageContent def callbackfunc(blocknum, blocksize, totalsize): '''回调函数 @blocknum: 已经下载的数据块 @blocksize: 数据块的大小 @totalsize: 远程文件的大小 ''' percent = 100.0 * blocknum * blocksize / totalsize if percent > 100: percent = 100 print "--------------------------------------------------------------------------" print " 小图一张已到手 " print "--------------------------------------------------------------------------" print "%.2f%%"% percent def getImg(pageContent,callbackfunc): #查找图片的正则表达式 src=r'zoomfile="(http://img..+.jpg)" file' # @坑1,之前没有加 file,导致从zoomfile开始所有的字符串全都匹配 srcm=re.compile(src) getImgSrc=re.findall(srcm,pageContent) #image_test_len=len(getImgSrc) #print getImgSrc name=260 #逐条获得图片地址并下载 for image in getImgSrc: urllib.urlretrieve(image,"E:\python\%s.jpg"% name,callbackfunc) name+=1 #return image_test_len if __name__=='__main__': pageContent=getHtml("http://old.nr99.com/thread-123208-1-2.html") getImg(pageContent,callbackfunc)