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标准库之Sys模块使用详解
May 23 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
python去除扩展名的实例讲解
Apr 23 Python
Python设计模式之代理模式实例详解
Jan 19 Python
python 多线程重启方法
Feb 18 Python
简单了解Django应用app及分布式路由
Jul 24 Python
Python基础之函数原理与应用实例详解
Jan 03 Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 Python
python实现一个简单RPC框架的示例
Oct 28 Python
python boto和boto3操作bucket的示例
Oct 30 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
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php格式化金额函数分享
2015/02/02 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python3实现从指定路径查找文件的方法
2015/05/22 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
python中的协程深入理解
2019/06/10 Python
解决Python使用列表副本的问题
2019/12/19 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
Servlet的生命周期
2013/08/25 面试题
中秋节礼品促销方案
2014/02/02 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
国庆庆典邀请函
2015/02/02 职场文书
2016年母亲节寄语
2015/12/04 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js
Python实现视频自动打码的示例代码
2022/04/08 Python