2015-06-14 5 views
-1

Итак, я работаю с Python и API Twitter, используя Twifty и Twitter Stream API, который возвращает объекты Tweet в реальном времени , Часть моего приложения, которое запрашивает другой API, не выглядит красиво с URLS в тексте твита, поэтому я использую модуль Python re, чтобы заменить их на безобидную строку идентификатора. Однако у меня возникают проблемы с поиском URL-адресов, которые нужно разбирать из текста. Вместо того, чтобы самостоятельно искать текст для URLS, я решил использовать те, которые предоставляет API, и «найти и заменить» в тексте.API Twitter: как разобрать URL-адрес из текста твита, используя данный список API

Here is документация по тому, что дает мне API. Он дает URL-адрес t.co, отображаемый URL-адрес и полностью расширенный URL-адрес. Проблема только с использованием URL-адреса t.co заключается в том, что twiter автоматически не преобразует все URL-адреса в твиты в t.co, только те, которые имеют определенную длину. Это означает, что URL-адрес t.co не всегда является тем же, что и в тексте твита.

Так что мне нужно выяснить, как получить из API версию URL-адреса, которая фактически появляется в тексте твита.

Спасибо! evamvid

+0

Наличие вашего кода будет немного более полезным и показать нам, что он выводит как есть. Кроме того, означает ли это, что у вас возникают проблемы с извлечением '' display_url''? – Leb

+0

Нет. Я могу получить «display_url», но я не уверен, что это версия URL-адреса, которая появляется в твите. – evamvid

+0

Прямо сейчас, код выводит только 'url', потому что это то, что я сказал ему для вывода. Я могу получить любое из четырех значений; 'url',' display_url', 'extended_url' и' indices'. Я просто не знаю, что делать. – evamvid

ответ

1

Попробуйте использовать это для extended_url:

tweet_url = str(tweet.expanded_url) # you might not need str(), 
#test it yourself if you'd like. 

# Replace tweet by the loop/function you have the json extracted with 

tweet_url = tweet_url.replace('\\', '') 

print(tweet_url) 

Что вы должны дать вам ссылку без того, как вы хотите.

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