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求pi的方法
Oct 08 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
Python过滤列表用法实例分析
Apr 29 Python
python实现聚类算法原理
Feb 12 Python
Python判断有效的数独算法示例
Feb 23 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
基于Python把网站域名解析成ip地址
May 25 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Python利用capstone实现反汇编
Apr 06 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 DataGrid 实现代码
2009/08/12 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
理解Javascript闭包
2013/11/01 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
layui表格实现代码
2017/05/20 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
python学习之hook钩子的原理和使用
2018/10/25 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
工地安全检查制度
2014/02/04 职场文书
网络宣传方案
2014/03/15 职场文书
安全生产标语
2014/06/06 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
英语复习计划
2015/01/19 职场文书