V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
paloalto
V2EX  ›  问与答

好奇momoka是怎么把用户新浪微博的相册图片批量读取出来的?

  •  
  •   paloalto · 2012-03-07 18:31:15 +08:00 · 4481 次点击
    这是一个创建于 4651 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为新浪微博似乎没有开放相关的api,但是 http://www.momoka.cc 这个网站却能读取自己和好友的相册图片,所以很好奇是怎么实现的。

    发现momoka是用flash读取的( http://www.momoka.cc/images/MOMOKA.swf ),破解这个swf文件后,找到一个weiboLoad.as文件,其中有一段代码如下:


    public function getWeiboData(param1:int = 1, param2:String = "") : void
    {
    var _loc_3:* = new URLRequest("/main/LoadWeibo");
    var _loc_4:* = new URLVariables();
    new URLVariables().s = param2;
    _loc_4.num = param1;
    _loc_3.data = _loc_4;
    _loc_3.method = URLRequestMethod.POST;
    this.weiboload.load(_loc_3);
    this.weiboload.addEventListener(Event.COMPLETE, this.WeiboHandle);
    this.weiboload.addEventListener(IOErrorEvent.IO_ERROR, this.ErrorLoad);
    return;
    }// end function





    登录momoka后访问 http://www.momoka.cc/main/LoadWeibo 是一段xml,主要结构如下:

    <info>
    <type>0</type>
    <text>动次大次!动次大次!动次大次!Digital Analog Band - 《The Blues》 http://t.cn/SVoUZt (分享自 @虾米音乐)</text>
    <time>1330964808</time>
    <tid>2746680</tid>
    <weibo_id>3420376669505063</weibo_id>
    <sina_id>1639496692</sina_id>
    <geo/>
    <x/>
    <y/>
    <w/>
    <h/>
    <scaleI/>
    <rotateI/>
    <small></small>
    <middle></middle>
    <big></big>
    </info>



    我现在怀疑momoka是写了爬虫去抓取,而不是用过新浪的api的开放接口。我对新浪微博api不了解,查看文档的时候没有找到相册和图片的单独接口。

    有人对这个了解吗?
    10 条回复    1970-01-01 08:00:00 +08:00
    unstop
        1
    unstop  
       2012-03-07 18:36:00 +08:00
    可能是获取微博,然后将微博中带的图片提取出来。
    paloalto
        2
    paloalto  
    OP
       2012-03-07 18:37:30 +08:00
    @unstop 也就是说先通过api获取每一条微博,然后再筛选出其中带有图片的微博?
    unstop
        3
    unstop  
       2012-03-07 18:37:42 +08:00
    简单验证了一下,我的相册图片(单独上传的,不属于任何一条微博)没有被抓取。所以应该是读取微博而不是相册。
    unstop
        4
    unstop  
       2012-03-07 18:38:03 +08:00
    @paloalto 是的。
    paloalto
        5
    paloalto  
    OP
       2012-03-07 18:39:31 +08:00
    @unstop 好的,多谢指点~
    laiwei
        6
    laiwei  
       2012-03-07 18:48:32 +08:00
    @paloalto 是这个道理,我就是这么做的…………
    sun019
        7
    sun019  
       2012-03-07 21:24:31 +08:00
    应该是读接口哦
    gavingeng
        8
    gavingeng  
       2012-03-08 00:10:43 +08:00
    @unstop 有oauth验证,应该是走接口的
    sobigfish
        9
    sobigfish  
       2012-03-08 00:14:30 +08:00 via iPad
    看v2ex里一个贴切叫啥不记得了他的app很好记,datui.sinaapp.com 他提供源码了,github上
    fuckgfw
        10
    fuckgfw  
       2012-09-05 07:31:21 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2231 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:36 · PVG 09:36 · LAX 17:36 · JFK 20:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.