python抓取网页图片并放到指定文件夹


Posted in Python onApril 24, 2014

python抓取网站图片并放到指定文件夹

# -*- coding=utf-8 -*-
import urllib2
import urllib
import socket
import os
import re
def Docment():
    print u'把文件存在E:\Python\图(请输入数字或字母)'
    h=raw_input()
    path=u'E:\Python\图'+str(h)
    if not os.path.exists(path):
        os.makedirs(path)
    return path
def getallurl(html):
    reg=r"a href='(.*?\.htm)'"
    allurl= re.compile(reg)
    allList = re.findall(allurl,html)
    return allList
def getHTML(url):
    url=url
    req_header = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
    req_timeout = 20
    html='cuowu'
    try:
        req = urllib2.Request(url,None,req_header)
        resp = urllib2.urlopen(req,None,req_timeout)
        html = resp.read()
    except urllib2.URLError as e:
        print e.message
    except socket.timeout as e:
        getHTML(url,fu)
    return html
def getImg(html,path):
    reg = r'img class=IMG_show border=0 src=(.*?\.jpg)'
    imgre= re.compile(reg)
    imgList = re.findall(imgre, html)
    if imgList:
        print 'ghasghg',path
        for imgurl in imgList:
            print imgurl
            content2=urllib2.urlopen(imgurl).read()
            with open(path+'/'+imgurl[-7:],'wb') as code:
                code.write(content2)
    else:
        return 0
def getallurl(html):
    reg=r"a href='(.*?\.htm)'"
    allurl= re.compile(reg)
    allList = re.findall(allurl,html)
    return allList
j=1
i=0
print u'请输入网址:'
ul=raw_input()
print u'开始下载'
print u'第'+str(j)+u'页'
html=getHTML(ul)
allList=getallurl(html)
path=Docment()
getImg(html,path)
while i<len(allList):
    for lis in allList:
        l=lis[i]
        url=r'http://www.umei.cc/p/gaoqing/rihan/'+lis
        i=i+1
        j=j+1
        html=getHTML(url)
        getImg(html,path)
        print u'第'+str(j)+u'页'
    else:
        print u'下载完毕'
Python 相关文章推荐
Python通过poll实现异步IO的方法
Jun 04 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python:print格式化输出到文件的实例
May 14 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
Python批量删除只保留最近几天table的代码实例
Apr 01 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
python Django里CSRF 对应策略详解
Aug 05 Python
python函数修饰符@的使用方法解析
Sep 02 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
python字符串替换示例
Apr 24 #Python
python自动安装pip
Apr 24 #Python
python网络编程示例(客户端与服务端)
Apr 24 #Python
python使用PyFetion来发送短信的例子
Apr 22 #Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 #Python
python中使用smtplib和email模块发送邮件实例
Apr 22 #Python
python用字典统计单词或汉字词个数示例
Apr 22 #Python
You might like
织梦模板标记简介
2007/03/11 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
php适配器模式简单应用示例
2019/10/23 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
Python生成8位随机字符串的方法分析
2017/12/05 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
举例讲解Python常用模块
2019/03/08 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
十一个高级MySql面试题
2014/10/06 面试题
六一儿童节主持词
2014/03/21 职场文书
健康状况证明模板
2014/10/23 职场文书
坎儿井导游词
2015/02/09 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android