Tweet 埋込み tag って API で取れたのね

最終更新日

img

このURL https://publish.twitter.com/oembed?url=*** で取れるのよ.知らなかったけど,普通に公式のドキュメントに書いてあった.下の例は,その下のツイートの埋め込みURLを取得するためのURLね.

https://publish.twitter.com/oembed?url=https://twitter.com/NPlaythrough/status/1149876122139545600
Code language: JavaScript (javascript)
埋め込み

さっきのURLにアクセスすると,こんな感じのJSONが返ってくる.実際には改行されてないけど,ここでは見やすさのために改行しました.あと良く見るとUnicodeがエスケープされてることにも注意 (当然なのかも知れないけど…).

{
   "url":"https://twitter.com/NPlaythrough/status/1149876122139545600",
   "author_name":"Nintendo Playthrough",
   "author_url":"https://twitter.com/NPlaythrough",
   "html":"u003Cblockquote class="twitter-tweet"u003Eu003Cp lang="en" dir="ltr"u003ELet's take a look at Nintendo Playthrough 1 Minute! [SMO #071]u003Ca href="https://twitter.com/hashtag/NP1M?src=hash&ref_src=twsrc%5Etfw"u003E#NP1Mu003C/au003E Full story here ▶ u003Ca href="https://t.co/nvO2tnovYG"u003Ehttps://t.co/nvO2tnovYGu003C/au003Eu003Ca href="https://t.co/xQsGTguCC6"u003Epic.twitter.com/xQsGTguCC6u003C/au003Eu003C/pu003E— Nintendo Playthrough (@NPlaythrough) u003Ca href="https://twitter.com/NPlaythrough/status/1149876122139545600?ref_src=twsrc%5Etfw"u003EJuly 13, 2019u003C/au003Eu003C/blockquoteu003Enu003Cscript async src="https://platform.twitter.com/widgets.js" charset="utf-8"u003Eu003C/scriptu003En",
   "width":550,
   "height":null,
   "type":"rich",
   "cache_age":"3153600000",
   "provider_name":"Twitter",
   "provider_url":"https://twitter.com",
   "version":"1.0"
}
Code language: JSON / JSON with Comments (json)

この中の html 要素を,Unicodeエスケープを解除して整形するとこんな感じ.

<blockquote class="twitter-tweet">
  <p lang="en" dir="ltr">Let's take a look at Nintendo Playthrough 1 Minute! [SMO #071]
    <a href="https://twitter.com/hashtag/NP1M?src=hash&ref_src=twsrc%5Etfw">#NP1M</a>Full story here ▶
    <a href="https://t.co/nvO2tnovYG">https://t.co/nvO2tnovYG</a>
    <a href="https://t.co/xQsGTguCC6">pic.twitter.com/xQsGTguCC6</a>
  </p>— Nintendo Playthrough (@NPlaythrough) 
  <a href="https://twitter.com/NPlaythrough/status/1149876122139545600?ref_src=twsrc%5Etfw">July 13, 2019</a>
</blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
Code language: HTML, XML (xml)

これが埋め込みタグだね!


以下,自分が何度もやってる作業だけど,毎回忘れちゃうからメモ.僕のYouTubeチャンネルの Nintendo Playthrough の統計をまとめるときの作業かな?

1) 画像を作る

np {VIDEO URL}
Code language: Bash (bash)

np の中身 https://lookbackmargin.blog/2018/10/29/52213760
alias の作り方 https://lookbackmargin.blog/2019/07/08/52226019

2) 画像をTwitterにアップ
ツール使っても,ブラウザからやっても.

3) TW URLを取得
まずはTweet URLを取得する.Kotoriotoko というシェルスクリプトツールを使っています.

cd {PATH TO KOTORIOTOKO}/BIN
sh twtl.sh -n {COUNT} {TW NAME}
Code language: Bash (bash)

取得したURLの i/web を,{TW NAME} に置換

https://twitter.com/i/web/status/1149876122139545600
 ↓
https://twitter.com/NPlaythrough/status/1149876122139545600

4) IMG URLを取得
これを使って画像URLを取得.

#何となく $HOME に帰ります
cd

twimgurl {TW URL}
Code language: Bash (bash)

twimgurl は,下のスクリプトを alias 登録したもの

#!/bin/bash
# this shellscript requires a Tweet URL as an argument
# make twimgurl.txt if not exit
touch ~/Downloads/twimgurl.txt

# prefix of image URL
prefix="https://publish.twitter.com/oembed?url="

# make GET param
param=$prefix${1}

# download thumnail image
GET ${param} | sed -e 's:u003C:/g' -e 's:::g' -e 's:^.*a href="(.*)">pic.twitter.com.*$:1:' >>~/Downloads/twimgurl.txt

exit 0
Code language: Bash (bash)

twimgurl は連続使用を想定してる.30回連続で実行すると,30行のURLリストがtwimgurl.txtに書き込まれる.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする