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)
  • 相关阅读:
    从Oracle提供两种cube产品说开
    Sql Server DWBI的几个学习资料
    Unload Oracle data into text file
    初学Java的几个tips
    我常用的Oracle知识点汇总
    benefits by using svn
    如何在windows上使用putty来显示远端linux的桌面
    building commercial website using Microsoft tech stack
    Understand Thread and Lock
    Update google calendar by sunbird
  • 原文地址:https://www.cnblogs.com/appium/p/4587966.html
Copyright © 2011-2022 走看看