2012-06-16 3 views
0

Чтобы проверить, содержит ли твит ссылку на внешний сайт, я просто проверяю, что твит содержит «http:»? Этого хватит?Проверка наличия твита ссылки на внешний сайт

Я получаю доступ к твитам, используя API-интерфейс twitter rest, поэтому я анализирую ответ json, который содержит твиты.

ответ

1

Вы можете получить все URL-адреса твита, используя Twitter Entities. Когда вы делаете вызов REST, убедитесь, что вы включили

&include_entities=true 

Это даст вам раздел в формате JSON или XML называется сущностями. Будет дочерний узел, называемый URL.

Вот пример того, что будет возвращено.

"text": "Twitter for Mac is now easier and faster, and you can open multiple windows at once http://t.co/0JG5Mcq", 

    "entities": { 

     "media": [ 

     ], 

     "urls": [ 

     { 

      "url": "http://t.co/0JG5Mcq", 

      "display_url": "blog.twitter.com/2011/05/twitte…", 

      "expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html", 

      "indices": [ 

      84, 

      103 

      ] 

     } 

     ], 

     "user_mentions": [ 

     ], 

     "hashtags": [ 

     ] 

    } 

Итак, найдите сущности -> URL, чтобы узнать, содержит ли твит ссылку на внешний сайт.

1

Как вы узнали о твитах? Соскабливая сайт Twitter или через какой-то API? Если вы используете API, какой и т. Д. Мне кажется, что раздел источника js-tweet-text всегда отформатирован, чтобы дать ссылку с http: //, но это может быть не гарантировано. Почему бы вам просто не поискать href?

Пример:

<p class="js-tweet-text"> 
     Blabla tweet text... <a data-expanded-url="http://bit.ly/somelink" 
      class="twitter-timeline-link" href="http://t.co/stuff" 
      rel="nofollow" class="twitter-timeline-link">bit.ly/somelink 
      </a> 
    </p> 

Здесь, как и data-expanded-urltwitter-timeline-link, кажется, дают реальную связь, в то время как href перенаправляет вас через некоторые твиттер фильтра. Но в любом случае вы можете быть уверены в том, что ссылки содержат href.

+0

посмотрите пожалуйста вопрос редактирование. Так как его безопасный безопасный вариант - просто очистить href от текста твита? –

+0

@ user470184: На самом деле он всегда может быть отформатирован с помощью 'http: //' от Twitter, но я не уверен. Так что да, я думаю, что поиск href будет несколько более устойчивым, по крайней мере теоретически. – Junuxx

Смежные вопросы