免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2313 | 回复: 0
打印 上一主题 下一主题

python得到网页中图片 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-17 16:43 |只看该作者 |倒序浏览
python 得到指定网页中的图片,使用urllib

#!/usr/lib/python
# getimg.py
import sys,os
from sgmllib import SGMLParser
class URLLister(SGMLParser):
    def reset(self):
        SGMLParser.reset(self)
        self.urls = []
    def start_img(self, attrs):
        src = [v for k, v in attrs if k=='src']
        if src:
            self.urls.extend(src)
imgdir = "/home/jim/pic/"
def ImgDownload(inputurl, img):
    # judge whether the img have 'http://' or 'https://'
    ret = inputurl.find('http', 0, len(img))
    if 'http' not in img:
        imgurl = inputurl+img
    else:
        imgurl = img
    imgname = imgurl.split('/')[-1]
    imgpath = imgdir+imgname   
    try:
        if os.path.exists(imgpath):
            print imgpath+" have exist, Needn't to download"
        else:
            urllib.urlretrieve(imgurl, imgpath)
            print imgname+" has save to: "+imgpath
    except:
        print "Picture("+imgname+") which come from "+inputurl+" saved failed"
if __name__ == "__main__":
    import urllib
    while True:
        inputurl = raw_input("\nInput URL: ")
        if cmp(inputurl, 'quit') == 0:
            break
        ret = inputurl.find('http', 0, len(inputurl))
        if ret == -1:
            inputurl = "
http://"+inputurl
        usock = urllib.urlopen(inputurl)
        parser = URLLister()
        parser.feed(usock.read())
        usock.close()
        parser.close()
        if not parser.urls:
            print "This page has not picture"
        else:
            for img in parser.urls:
                ImgDownload(inputurl, img)

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/41982/showart_1902693.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP