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获取beautifulphoto随机某图片代码实例
Dec 18 Python
Python数据类型学习笔记
Jan 13 Python
Python 序列的方法总结
Oct 18 Python
Python实现的桶排序算法示例
Nov 29 Python
Python中单、双下划线的区别总结
Dec 01 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
python实现无边框进度条的实例代码
Dec 30 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 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
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
js substr、substring和slice使用说明小记
2011/09/15 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
详解python调度框架APScheduler使用
2017/03/28 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
python更改已存在excel文件的方法
2018/05/03 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
超级实用的8个Python列表技巧
2020/08/24 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
普通话演讲稿
2014/09/03 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
教师工作证明范本
2015/06/12 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
Mysql MVCC机制原理详解
2021/04/20 MySQL
怎么用Python识别手势数字
2021/06/07 Python