Twitterに投稿される画像の直リンク取得方法

Twitterに投稿される画像だけ集めたギャラリーサイトなど面白いのではないかと思い、ツイートに含まれる画像のURLを取得する方法について調べてみました。

テストがてら簡単につくったものですが、たとえば「須磨」という単語が含まれた写真付きのツイートを検索した結果はこのようになります
(´-`).。oO(夏休みですね。。。。。。)

AD

Twitter検索基本形

TwitterAPIが1.1になってからしばらくになりますが、単なる検索結果を得るためだけでも認証が必要となりました。

ツイート内に含まれる画像の直リンクを取得する

上記検索を実行の際、include_entitiesというパラメータをtrueに設定することによりツイート内に含まれるURLについての情報を追加で取得することができます。

詳しくはTweet Entitiesという公式ドキュメントを見てみてください。

画像でないURLについての情報も取得出来ますが、今回は画像に絞って見てみます。
タイムラインを見ていて画像投稿によく使われている(っぽく見える)、

・Twitter標準の画像投稿機能
・Twitpic
・ついっぷる
・フォト蔵
・Instagram

について画像URLの取得方法を調べてみました。

Twitter標準の画像アップロードの場合

外部サービスを経由せずに画像を投稿した場合、画像そのもののURLが「media_url」というキーで取得できます。
上記の検索基本形のように$obj->statusesをforeachでループした場合、以下のように取得できます。

ただ、外部の画像投稿サービスを利用した場合はmedia_urlでは取得することができません。
代表的jな画像投稿サービス別に、取得方法を調べてみました。

TwitpicのURLから画像URLを取得する

TwitPicの場合、URLの一部を置換することで画像そのもののURLが取得できます。
Twitter標準ではない画像投稿を使った場合、expanded_urlというキーにリンク先URLが入ります。ただこれは画像のURLではなく詳細ページ(という言い方でいいのでしょうか・・・)のURLですので、そのURLより画像URLを取得する必要があります。

ついっぷるのURLから画像URLを取得する

ついっぷるの場合もTwitpicと同様に、URLの一部を置換することで画像URLが取得できます。

フォト蔵のURLから画像URLを取得する

フォト蔵もほぼ同様ですが、フォト蔵の場合は写真掲載URLにはユーザーIDが含まれますが画像URLにはユーザーIDが含まれません。そのユーザーIDの部分を除く必要があります。

InstagramのURLから画像URLを取得する

InstagramはURLを単純な置換で取得することが出きず、必要ない場合でもJSONが返却されます。
そこでそのJSONをfile_get_contents→json_decodeという手順が必要です(URL取得だけならjson_decodeではなくpreg_matchなどのほうがいいような気もするが)。

AD

Share

Commentsコメント

メールアドレスは公開されません。コメントは必ずご入力ください。

HTMLタグは使用できません。ソースコードを書き込みたい場合はCodetterGistCodePenなどのご利用が便利です。

幸太郎 さんより
大変参考になりました。
ありがとうございました!
れい さんより
とても参考になりました!
ありがとうございます!

すいません、1つお伺いしてもよろしいですか?
この方法で、「Twitter標準の画像アップロードの場合」のときは、画像URL以外も拾ってしまいます。
例えばただのリンクの場合も拾ってしまいますが、
「画像」という判定はできるのでしょうか。

よろしくお願いします。
管理人 さんより
れい 様
コメントありがとうございます。

mediaというキーが入るのはTwitter標準の画像アップロードだけのはずなのですが、おかしいですね。。。

Twitter標準の画像アップロードのときは

$statuses->entities->media[0]->media_url;

で、それ以外は

$statuses->entities->urls[0]->expanded_url;

となりますが間違いはないでしょうか?
lasertest さんより
Unquestionably imagine that that you stated. Your favourite reason appeared
to be on the internet the simplest factor to remember of.
I say to you, I definitely get annoyed whilst other folks consider issues that they just don't
recognize about. You controlled to hit the nail upon the top as well as defined out the whole
thing without having side effect , people could take
a signal. Will likely be again to get more. Thank you
shop ban danorgan さんより
My brother suggested I would possibly like this blog. He
was totally right. This post actually made my day.
You can not imagine just how a lot time I had spent for this information!
Thanks!
web site さんより
Greeting cards certainly are a convenient and heartfelt
method to show your hlusehold that you simply care.
Besides the newly released Old West and Hannah Montana, there are wonderful classcs like Disney Mickey Fonnt Cartridge
and Christmas Solutions Cartridge.    The kids enjoy which makes them as well as oof you may also
rely on them as decorations for the classroom or in yur
own home.
Felicitas さんより
I loved as much as you'll receive carried out right here.

The sketch is attractive, your authored subject matter stylish.
nonetheless, you command get got an edginess over that you wish be
delivering the following. unwell unquestionably come more formerly again as
exactly the same nearly a lot often inside case
you shield this increase.
web page さんより
One may consider cholesterol to get the principal source foor arterial
plaque thu keeping cholesterol consumption under 200 milligrams or 30 percent every day if thhe crucial portion off our plan. If the cardiac muscle does not receive
sufficient blood flow, the actuaal result can be quite a cardiuac event.

The price varies using the materials used as well as design in fact it is surely worth every dollar you spent.
filmes lançamentos netflix comedia さんより
Selecionei 10 filmes que abordam asserção.
impotência causas psicológicas さんより
Ao preço de primeira impressão, a missão é das mais fáceis.
Harveyrooto さんより
BINarYOptiNSSVeRGe.com