python学习之小小爬虫

学习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)

 

posted @ 2015-06-19 10:50  悦文  阅读(254)  评论(0)    收藏  举报