查找具有特定主题标签的推文并发布到网页中

时间:2013-01-29 13:36:01

标签: javascript json

我做了一些搜索,发现了一条帖子,告知如何找到用户 gnab 发布的#标签。

  

您只需获取http://search.twitter.com/search.json?q=%23test即可获取包含JSON中#test的推文列表,其中%23test是#test URL编码。

找到推文后,我想把它加载到页面上。此页面将不断刷新包含此主题标签的最新推文。我刚刚开始使用HTML,CSS和一些jQuery,所以这对我来说很新。我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

非常简单,如果您有一个推文帐户登录到您的Twitter帐户并单击设置并查看窗口小部件选项。根据您的意愿创建一个新的窗口小部件配置并单击添加窗口小部件,您将获得一个一段代码只需复制粘贴并将其放在iframe中。你不必为此而挣扎。

答案 1 :(得分:0)

看看我制作的这个片段,我想它会带给你一些想法:

http://jsfiddle.net/TgTtV/

lastDate = false;
setInterval(function() {

  function compareDates (argument) {
    return (new Date(argument.created_at) > lastDate);
  }

   jQuery.ajax({
      url: 'http://search.twitter.com/search.json',
      type: 'GET',
      dataType: 'jsonp',
      data: {q: encodeURIComponent('#test')},

      success: function(data, textStatus, xhr) {
          //If it's the first time running, prepend all tweets to the page
          if(!lastDate) {
            for(i in data.results) {
                $('body').prepend('<p>'+data.results[i].from_user+': '+data.results[i].text+'</p>');
            }
          } else { //Only new tweets, filtered by date are added
            var newMessages = data.results.filter(compareDates);
              //Just for test
              console.log(newMessages);
            for(i in newMessages) {
                $('body').prepend('<p>'+newMessages[i].from_user+': '+newMessages[i].text+'</p>');
            }
          }

          lastDate = new Date(data.results[0].created_at);
      }
    });

}, 10000);

说明: 该代码段首先从您的查询中加载一堆推文(在本例中为#test),并将用户名和推文内容放入段落中。第一次加载后,它继续加载推文,但使用compareDates函数按日期过滤它们,并在页面中仅显示新的推文。 为了更好地理解,我建议您在Firebug的控制台打开的情况下测试这个片段。