@alysenko

Как спомощью Twitter API получить ссылку на изображение?

Столкнулся с проблемой.
С помощью API Twitter получаю данные твита в формате JSON.
0 => {#432 ▼
    +"created_at": "Wed Aug 02 00:33:08 +0000 2017"
    +"id": 8.9254375327308E+17
    +"id_str": "892543753273081856"
    +"full_text": ".@NASAVoyager, humanity’s farthest & longest-lived spacecraft, have been exploring since launch in 1977. Learn more: https://t.co/rf8dBT2lJk https://t.co/Zh ▶"
    +"truncated": false
    +"display_text_range": array:2 [▶]
    +"entities": {#434 ▼
      +"hashtags": []
      +"symbols": []
      +"user_mentions": array:1 [▶]
      +"urls": array:1 [▶]
      +"media": array:1 [▼
        0 => {#437 ▼
          +"id": 8.9254375126412E+17
          +"id_str": "892543751264120832"
          +"indices": array:2 [▶]
          +"media_url": "http://pbs.twimg.com/media/DGLz0BiXsAArMGA.jpg"
          +"media_url_https": "https://pbs.twimg.com/media/DGLz0BiXsAArMGA.jpg"
          +"url": "https://t.co/ZhYTEUHvXg"
          +"display_url": "pic.twitter.com/ZhYTEUHvXg"
          +"expanded_url": "https://twitter.com/NASA/status/892543753273081856/photo/1"
          +"type": "photo"
          +"sizes": {#438 ▶}
        }
      ]
    }
    +"extended_entities": {#443 ▼
      +"media": array:1 [▼
        0 => {#444 ▼
          +"id": 8.9254375126412E+17
          +"id_str": "892543751264120832"
          +"indices": array:2 [▶]
          +"media_url": "http://pbs.twimg.com/media/DGLz0BiXsAArMGA.jpg"
          +"media_url_https": "https://pbs.twimg.com/media/DGLz0BiXsAArMGA.jpg"
          +"url": "https://t.co/ZhYTEUHvXg"
          +"display_url": "pic.twitter.com/ZhYTEUHvXg"
          +"expanded_url": "https://twitter.com/NASA/status/892543753273081856/photo/1"
          +"type": "photo"
          +"sizes": {#445 ▶}
        }
      ]
    }
    +"source": "<a href="https://www.sprinklr.com" rel="nofollow">Sprinklr</a>"
    +"in_reply_to_status_id": null
    +"in_reply_to_status_id_str": null
    +"in_reply_to_user_id": null
    +"in_reply_to_user_id_str": null
    +"in_reply_to_screen_name": null
    +"user": {#450 ▶}
    +"geo": null
    +"coordinates": null
    +"place": null
    +"contributors": null
    +"is_quote_status": false
    +"retweet_count": 780
    +"favorite_count": 2187
    +"favorited": false
    +"retweeted": false
    +"possibly_sensitive": false
    +"lang": "en"
  }

Все работает прекрасно для обычних твитов и ретвитов: в "entities" и "extended_entities" есть нужные мне медиа файлы.
Но если твитнуть ссылку, она розпарсится твитером и в твите будет будет изображение, но если получить такой твит через API, то изображения там не будет:
Сам твит
0 => {#432 ▼
    +"created_at": "Wed Aug 02 14:00:26 +0000 2017"
    +"id": 8.9274691707933E+17
    +"id_str": "892746917079330818"
    +"full_text": "Of the three African big cats, cheetahs are the most fragile—watch how one let a gang of vultures steal its meal https://t.co/hvAG8cPZWB"
    +"truncated": false
    +"display_text_range": array:2 [▶]
    +"entities": {#434 ▼
      +"hashtags": []
      +"symbols": []
      +"user_mentions": []
      +"urls": array:1 [▶]
    }
    +"source": "<a href="http://www.spredfast.com" rel="nofollow">Spredfast app</a>"
    +"in_reply_to_status_id": null
    +"in_reply_to_status_id_str": null
    +"in_reply_to_user_id": null
    +"in_reply_to_user_id_str": null
    +"in_reply_to_screen_name": null
    +"user": {#436 ▶}
    +"geo": null
    +"coordinates": null
    +"place": null
    +"contributors": null
    +"is_quote_status": false
    +"retweet_count": 75
    +"favorite_count": 242
    +"favorited": false
    +"retweeted": false
    +"possibly_sensitive": false
    +"lang": "en"
  }

Как для таких твитов можно получить изображение с твита?
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 1
Вам нужно самому парсить ссылку.

Как это делать:
1) Смотрите ссылку, в данном случае это
http://news.nationalgeographic.com/2017/08/vultures-steal-cheetah-kill-kruger-food-fight-spd/

2) Загружаете исходный код
3) Выдёргиваете тег og:image, конкретно у это сайта, есть тег twitter:image:src выдрать можно его.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы