zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    agc027D
    agc027E
    agc036D
    牛客挑战赛43 D-数组操作
    CF587F. Duff is Mad
    CF578F. Mirror Box
    CF708D. Incorrect Flow
    agc022D
    2020.12.16 模拟赛x+1
    Mybatis Plus——[Could not set property 'id' of '***' with value]解决方案
  • 原文地址:https://www.cnblogs.com/appium/p/4587966.html
Copyright © 2011-2022 走看看