python小技巧之批量抓取美女图片


Posted in Python onJune 06, 2014

其中用到urllib2模块和正则表达式模块。下面直接上代码:

[/code]
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#通过urllib(2)模块下载网络内容
import urllib,urllib2,gevent
#引入正则表达式模块,时间模块
import re,time
from gevent import monkey

monkey.patch_all()

def geturllist(url):
    url_list=[]
    print url      
    s = urllib2.urlopen(url)
    text = s.read()
    #正则匹配,匹配其中的图片
    html = re.search(r'<ol.*</ol>', text, re.S)
    urls = re.finditer(r'<p><img src="(.+?)jpg" /></p>',html.group(),re.I)
    for i in urls:
        url=i.group(1).strip()+str("jpg")
        url_list.append(url)
    return url_list

def download(down_url):
    name=str(time.time())[:-3]+"_"+re.sub('.+?/','',down_url)
    print name
    urllib.urlretrieve(down_url, "D:\\TEMP\\"+name)

def getpageurl():
    page_list = []
    #进行列表页循环
    for page in range(1,700):
        url="http://jandan.net/ooxx/page-"+str(page)+"#comments"
        #把生成的url加入到page_list中
        page_list.append(url)
    print page_list
    return page_list
if __name__ == '__main__':
    jobs = []
    pageurl = getpageurl()[::-1]
    #进行图片下载
    for i in pageurl:
        for (downurl) in geturllist(i):
            jobs.append(gevent.spawn(download, downurl))
    gevent.joinall(jobs)
[/code]

程序不长才45行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。。我就不多说了~~

Python 相关文章推荐
Python语言编写电脑时间自动同步小工具
Mar 08 Python
初步解析Python中的yield函数的用法
Apr 03 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python selenium登录豆瓣网过程解析
Aug 10 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
用python对excel查重
Dec 07 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
python和anaconda的区别
May 06 Python
Python学习笔记(二)基础语法
Jun 06 #Python
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 #Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 #Python
pycharm 使用心得(七)一些实用功能介绍
Jun 06 #Python
pycharm 使用心得(六)进行简单的数据库管理
Jun 06 #Python
pycharm 使用心得(五)断点调试
Jun 06 #Python
pycharm 使用心得(四)显示行号
Jun 05 #Python
You might like
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
js实现微博发布小功能
2017/01/12 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
python中比较两个列表的实例方法
2019/07/04 Python
如何解决安装python3.6.1失败
2020/07/01 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
最新奶茶店创业计划书范文
2014/02/08 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
十八大观后感
2015/06/12 职场文书
新闻稿件写作范文
2015/07/18 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python