用Python写的图片蜘蛛人代码


Posted in Python onAugust 27, 2012
#coding=utf-8 import os 
import sys 
import re 
import urllib 
URL_REG = re.compile(r'(http://[^///]+)', re.I) 
IMG_REG = re.compile(r'<img[^>]*?src=([/'"])([^/1]*?)/1', re.I) 
def download(dir, url): 
'''下载网页中的图片 
@dir 保存到本地的路径 
@url 网页url 
''' 
global URL_REG, IMG_REG 
m = URL_REG.match(url) 
if not m: 
print '[Error]Invalid URL: ', url 
return 
host = m.group(1) 
if not os.path.isdir(dir): 
os.mkdir(dir) 
# 获取html,提取图片url 
html = urllib.urlopen(url).read() 
imgs = [item[1].lower() for item in IMG_REG.findall(html)] 
f = lambda path: path if path.startswith('http://') else / 
host + path if path.startswith('/') else url + '/' + path 
imgs = list(set(map(f, imgs))) 
print '[Info]Find %d images.' % len(imgs) 
# 下载图片 
for idx, img in enumerate(imgs): 
name = img.split('/')[-1] 
path = os.path.join(dir, name) 
try: 
print '[Info]Download(%d): %s'% (idx + 1, img) 
urllib.urlretrieve(img, path) 
except: 
print "[Error]Cant't download(%d): %s" % (idx + 1, img) 
def main(): 
if len(sys.argv) != 3: 
print 'Invalid argument count.' 
return 
dir, url = sys.argv[1:] 
download(dir, url) 
if __name__ == '__main__': 
# download('D://Imgs', 'http://www.163.com') 
main()
Python 相关文章推荐
Python转换HTML到Text纯文本的方法
Jan 15 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
python的构建工具setup.py的方法使用示例
Oct 23 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 Python
Python3分析处理声音数据的例子
Aug 27 Python
scikit-learn线性回归,多元回归,多项式回归的实现
Aug 29 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
python读取Kafka实例
Dec 23 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
python将dict中的unicode打印成中文实例
May 11 Python
使用pth文件添加Python环境变量方式
May 26 Python
python实现的人脸识别打卡系统
May 08 Python
Python模块学习 filecmp 文件比较
Aug 27 #Python
Python模块学习 datetime介绍
Aug 27 #Python
Python运行的17个时新手常见错误小结
Aug 07 #Python
Python 代码性能优化技巧分享
Aug 07 #Python
Python正则表达式介绍
Aug 06 #Python
python 实现文件的递归拷贝实现代码
Aug 02 #Python
python实现划词翻译
Apr 23 #Python
You might like
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python中optparse模块使用浅析
2015/01/01 Python
Python素数检测的方法
2015/05/11 Python
Python中字典和集合学习小结
2017/07/07 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
pandas 将索引值相加的方法
2018/11/15 Python
Python实现八皇后问题示例代码
2018/12/09 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
基于FME使用Python过程图解
2020/05/13 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
python cookie反爬处理的实现
2020/11/01 Python
优秀大学生的自我评价
2014/01/16 职场文书
《雾凇》教学反思
2014/02/17 职场文书
防沙治沙典型材料
2014/05/07 职场文书
会计毕业生自荐书
2014/06/12 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2016新年问候语大全
2015/11/11 职场文书
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python