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字符遍历的艺术
Sep 06 Python
python实现dict版图遍历示例
Feb 19 Python
python数据结构之二叉树的建立实例
Apr 29 Python
Python随机读取文件实现实例
May 25 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
实例介绍Python中整型
Feb 11 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python简单实现区域生长方式
Jan 16 Python
Python bytes string相互转换过程解析
Mar 05 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
pyCharm 实现关闭代码检查
Jun 09 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 register_globals 值为on与off的理解
2013/09/26 PHP
php按单词截取字符串的方法
2015/04/07 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP学习记录之数组函数
2018/06/01 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
常用python编程模板汇总
2016/02/12 Python
Python实现识别手写数字大纲
2018/01/29 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
法国房车租赁网站:Yescapa
2019/08/26 全球购物
护理自荐信
2013/10/22 职场文书
数控技术应届生求职信
2013/11/13 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
浅析MongoDB之安全认证
2021/06/26 MongoDB
Golang数据类型和相互转换
2022/04/12 Golang