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中的多重继承实例讲解
Sep 28 Python
Python 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
用Python解决x的n次方问题
Feb 08 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python建造者模式案例运行原理解析
Jun 29 Python
python实现一个简单RPC框架的示例
Oct 28 Python
python中re模块知识点总结
Jan 17 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
晶体管单管来复再生式收音机
2021/03/02 无线电
谈谈PHP语法(5)
2006/10/09 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
js 操作符实例代码
2009/10/24 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
Bootstrap Table从零开始
2017/06/30 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python全局变量用法实例分析
2016/07/19 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
pytorch梯度剪裁方式
2020/02/04 Python
Python常用断言函数实例汇总
2020/11/30 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
财产分割协议书范本
2014/11/03 职场文书
学生保证书
2015/01/16 职场文书
2015年人事科工作总结
2015/04/28 职场文书
python绘制箱型图
2021/04/27 Python
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android