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检测某个变量是否有定义的方法
May 20 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
Python实现基本线性数据结构
Aug 22 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
Python实现的双色球生成功能示例
Dec 18 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
对python 读取线的shp文件实例详解
Dec 22 Python
Django如何防止定时任务并发浅析
May 14 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
python实现逆滤波与维纳滤波示例
Feb 26 Python
浅析python标准库中的glob
Mar 13 Python
Python3.10的一些新特性原理分析
Sep 15 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
Python入门篇之字典
2014/10/17 Python
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
如何高效率的查找一个月以内的数据
2012/04/15 面试题
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
机电一体化专业推荐信
2013/12/03 职场文书
记者岗位职责
2014/01/06 职场文书
农业开发项目建议书
2014/05/16 职场文书
体育口号大全
2014/06/18 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
毕业生党员个人总结
2015/02/14 职场文书
经费申请报告范文
2015/05/18 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书