apache mysql Android linux HTML5 java 程序员 google 开源 Python shell Ubuntu centos 微软 Firefox Windows wordpress nginx linux命令 php

豆瓣说API

豆瓣API支持jsonp办法来跨域:(:user_id 豆瓣id)

http://api.douban.com/shuo/v2/statuses/user_timeline/:user_id?apikey=&alt=xd&callback=callbackfunction

关于json这种格式可以查看此文:http://zh.wikipedia.org/wiki/JSON

jQuery(document).ready(function($) {
  var userid = "46116429",// 豆瓣id或者域名,修改成自己的
      $box = $('#douban-box'); // 将数据添加到div中去
  $.ajax({
    url: "http://api.douban.com/shuo/v2/statuses/user_timeline/" + userid + "?apikey=&alt=xd",
    dataType: 'jsonp',// 数据传输为jsonp,跨域必须的参数
    success: function(jsons) { // 得到数据
      var n = jsons.length, // 豆瓣说的数目,如果没有apikey就不能自定义数目
          html = "";
      for (var i = 0; i < n; i++) { // 循环获取相关信息
        var json = jsons[i],
        t = json.title,
        status = t.indexOf('score') > -1 ? t.replace(/\[score\]\d*\[\/score\]/, "") : t,// 单条豆瓣说的状态, 比如"看过", "更改签名:", "推荐音乐"...
 
        s = t.indexOf('score') > -1 ? t.replace(/.*\[score\](\d*)\[\/score\]/, "$1") : -1,// 这里是为了得到音乐,电影的评分
        score = s > -1 ? '<span class="score' + s + '"></span>': "",// .score0 - .score5 六种
 
        title = json.attachments[0] && json.attachments[0].title, // 单条豆瓣说的标题
 
        expaned_href = json.attachments[0] && json.attachments[0].expaned_href, // 单条豆瓣说的外链地址
 
        href = json.attachments[0] && json.attachments[0].href,
        description = json.attachments[0] && json.attachments[0].description,// 对于电影,音乐等的简述
 
        text = json.text,
        blockquote = text && '<blockquote class="douban-blockquote"><p class="douban-quoter">' + text + '</p></blockquote>'; // 个人的评论
        html += '<div><p class="text">' + status + ' <a href="' + expaned_href + '">' + title + '</a>' + score + '</p><div class="description">' + description + '</div>' + blockquote + '</div>';
      }
      $box.html(html);
    },
    error: function() {
      alert("Error");
    },
  });
});

附上一个例子:doubanshuo.zip

延伸阅读

评论