python小技巧之批量抓取美女图片

其中用到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行,不是太难,大家可以研究下,这里我只是抛砖引玉,大家可以根据原理开发出其他的抓取程序,呵呵,自己想去吧。。。我就不多说了~~

(0)

相关推荐

  • Python读取图片EXIF信息类库介绍和使用实例

    首先要介绍的是 Python Imaging Library,使用方法如下: 复制代码 代码如下: from PIL import Image from PIL.ExifTags import TAGS def get_exif_data(fname):     """Get embedded EXIF data from image file."""     ret = {}     try:         img = Image.open(

  • python抓取网页中的图片示例

    复制代码 代码如下: #coding:utf8import reimport urllibdef getHTML(url):    page = urllib.urlopen(url)    html = page.read()    return html def getImg(html,imgType):    reg = r'src="(.*?\.+'+imgType+'!slider)" '    imgre = re.compile(reg)    imgList = re.

  • Python使用代理抓取网站图片(多线程)

    一.功能说明:1. 多线程方式抓取代理服务器,并多线程验证代理服务器ps 代理服务器是从http://www.cnproxy.com/ (测试只选择了8个页面)抓取2. 抓取一个网站的图片地址,多线程随机取一个代理服务器下载图片二.实现代码 复制代码 代码如下: #!/usr/bin/env python#coding:utf-8 import urllib2import reimport threadingimport timeimport random rawProxyList = []ch

  • python抓取网页图片并放到指定文件夹

    python抓取网站图片并放到指定文件夹 复制代码 代码如下: # -*- coding=utf-8 -*-import urllib2import urllibimport socketimport osimport redef Docment():    print u'把文件存在E:\Python\图(请输入数字或字母)'    h=raw_input()    path=u'E:\Python\图'+str(h)    if not os.path.exists(path):      

  • python抓取网页图片示例(python爬虫)

    复制代码 代码如下: #-*- encoding: utf-8 -*-'''Created on 2014-4-24 @author: Leon Wong''' import urllib2import urllibimport reimport timeimport osimport uuid #获取二级页面urldef findUrl2(html):    re1 = r'http://tuchong.com/\d+/\d+/|http://\w+(?<!photos).tuchong.co

  • python从网络读取图片并直接进行处理的方法

    本文实例讲述了python从网络读取图片并直接进行处理的方法.分享给大家供大家参考.具体实现方法如下: 下面的代码可以实现从网络读取一张图片,不需要保存为本地文件,直接通过Image模块对图片进行处理,这里使用到了cStringIO库,主要是把从网络读取到的图片数据模拟成本地文件. import urllib2 import Image import cStringIO def ImageScale(url,size): file = cStringIO.StringIO(urllib2.url

  • 简单的抓取淘宝图片的Python爬虫

    写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type=0&page=中提取taobao模特的照片. 复制代码 代码如下: # -*- coding: cp936 -*- import urllib2 import urllib mmurl="http://mm.taobao.com/json/request_top_list.htm?type

  • python抓取网页中图片并保存到本地

    在上篇文章给大家分享PHP源码批量抓取远程网页图片并保存到本地的实现方法,感兴趣的朋友可以点击了解详情. #-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file_extension(file): return os.path.splitext(file)[1] '''創建文件目录,并返回该目录''' def mkdir(path): # 去除左右两边的

  • Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,那么就要初步的了解它- 进去后就是这个啦,然后F12进入开发人员选项,笔者用的是Chrome. 右键图片>>检查 发现我们需要的图片src是在img标签下的,于是先试着用

  • python获取远程图片大小和尺寸的方法

    本文实例讲述了python获取远程图片大小和尺寸的方法.分享给大家供大家参考.具体分析如下: 这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息 #!/usr/bin/env python #encoding=utf-8 import cStringIO, urllib2, Image url = 'http://www.jb51.net/images/logo.gif' file = urllib2.urlopen(url) tmp

随机推荐