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抓取京东商城手机列表url实例代码
Dec 18 Python
python写的ARP攻击代码实例
Jun 04 Python
Python实现方便使用的级联进度信息实例
May 05 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
Jul 07 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
Python获取、格式化当前时间日期的方法
Feb 10 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 IPV6正则表达式验证代码
2010/02/16 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
python实现最大优先队列
2019/08/29 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
python实现代码统计程序
2019/09/19 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
python通过cython加密代码
2020/12/11 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
经理管理专业毕业自荐书范文
2014/02/12 职场文书
一体化教学实施方案
2014/05/10 职场文书
学校师德承诺书
2014/05/23 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书