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 XML RPC服务器端和客户端实例
Nov 22 Python
python基础知识小结之集合
Nov 25 Python
python如何在列表、字典中筛选数据
Mar 19 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
解决Django一个表单对应多个按钮的问题
Jul 18 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
如何在C++中调用Python
May 21 Python
Python爬虫基础初探selenium
May 31 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 Python
关于Python中进度条的六个实用技巧分享
Apr 05 Python
Python四款GUI图形界面库介绍
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
一个简洁的多级别论坛
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP封装的数据库保存session功能类
2016/07/11 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Python fileinput模块使用实例
2015/05/28 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
python利用opencv保存、播放视频
2020/11/02 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
企业办公室岗位职责
2014/03/12 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
公安学专业求职信
2014/07/27 职场文书
地理科学专业自荐信
2014/09/01 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android
mysql事务对效率的影响分析总结
2021/10/24 MySQL
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android