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基础教程之自定义函数介绍
Aug 29 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
python 文件转成16进制数组的实例
Jul 09 Python
Django model序列化为json的方法示例
Oct 16 Python
python多线程http压力测试脚本
Jun 25 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
python文字转语音的实例代码分析
Nov 12 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
python中对二维列表中一维列表的调用方法
Jun 07 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
第二节--PHP5 的对象模型
2006/11/16 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
Python中的True,False条件判断实例分析
2015/01/12 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Django 返回json数据的实现示例
2020/03/05 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
标准的毕业生自荐信
2014/04/20 职场文书
员工保密承诺书
2014/05/28 职场文书
市场调查策划方案
2014/06/10 职场文书
食品安全处置方案
2014/06/14 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
开除员工通知
2015/04/22 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
Java无向树分析 实现最小高度树
2022/04/09 Javascript