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 相关文章推荐
web.py中调用文件夹内模板的方法
Aug 26 Python
用Python实现一个简单的多线程TCP服务器的教程
May 05 Python
基于Django模板中的数字自增(详解)
Sep 05 Python
python使用sqlite3时游标使用方法
Mar 13 Python
python实现猜数字小游戏
Mar 24 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
Oct 14 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
Python接收手机短信的代码整理
Aug 02 Python
python上下文管理的使用场景实例讲解
Mar 03 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
关于时间计算的结总
2006/12/06 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
javascript操作数组详解
2014/12/17 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
python optparse模块使用实例
2015/04/09 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Django如何实现上传图片功能
2019/08/16 Python
python sorted函数的小练习及解答
2019/09/18 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python实现PCA降维的示例详解
2020/02/24 Python
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
企业宣传方案
2014/03/04 职场文书
党员入党表决心的话
2014/03/11 职场文书
2014高考励志标语
2014/06/05 职场文书
教师工作表现自我评价
2015/03/05 职场文书
音乐课外活动总结
2015/05/09 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL