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 16 Python
简介Django框架中可使用的各类缓存
Jul 23 Python
python2.7的编码问题与解决方法
Oct 04 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
python使用正则来处理各种匹配问题
Dec 22 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Python实现播放和录制声音的功能
Aug 12 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
解决python存数据库速度太慢的问题
Apr 23 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
实例解析php的数据类型
2018/10/24 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
基于python实现地址和经纬度转换
2020/05/19 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
师德演讲稿范文
2014/05/06 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
商场促销活动总结
2014/07/10 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫