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 cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
django利用request id便于定位及给日志加上request_id
Aug 26 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
python3射线法判断点是否在多边形内
Jun 28 Python
python中使用while循环的实例
Aug 05 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
python如何处理程序无法打开
Jun 16 Python
pytorch MSELoss计算平均的实现方法
May 12 Python
golang特有程序结构入门教程
Jun 02 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 Python
python入门学习关于for else的特殊特性讲解
Nov 20 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python使用numpy实现BP神经网络
2018/03/10 Python
python验证身份证信息实例代码
2019/05/06 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
六道php面试题附答案
2014/06/05 面试题
计算机学生求职信范文
2014/01/30 职场文书
婚前协议书范本
2014/04/15 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
电台编导求职信
2014/05/06 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL