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的subprocess模块总结
Nov 07 Python
在Python中关于中文编码问题的处理建议
Apr 08 Python
Python基于有道实现英汉字典功能
Jul 25 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
Python 探针的实现原理
Apr 23 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
Python Django 封装分页成通用的模块详解
Aug 21 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 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/05/08 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
js数组操作常用方法
2014/05/08 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
测绘工程本科生求职信
2013/10/10 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
python随机打印成绩排名表
2021/06/23 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis