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


このURL https://publish.twitter.com/oembed?url=***
で取れるのよ.知らなかったけど,普通に公式のドキュメントに書いてあった.下の例は,その下のツイートの埋め込みURLを取得するためのURLね.
https://publish.twitter.com/oembed?url=https://twitter.com/NPlaythrough/status/1149876122139545600
さっきの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\"\u003E\u003Cp 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#NP1M\u003C\/a\u003E Full story here ▶ \u003Ca href=\"https:\/\/t.co\/nvO2tnovYG\"\u003Ehttps:\/\/t.co\/nvO2tnovYG\u003C\/a\u003E\u003Ca href=\"https:\/\/t.co\/xQsGTguCC6\"\u003Epic.twitter.com\/xQsGTguCC6\u003C\/a\u003E\u003C\/p\u003E— Nintendo Playthrough (@NPlaythrough) \u003Ca href=\"https:\/\/twitter.com\/NPlaythrough\/status\/1149876122139545600?ref_src=twsrc%5Etfw\"\u003EJuly 13, 2019\u003C\/a\u003E\u003C\/blockquote\u003E\n\u003Cscript async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"\u003E\u003C\/script\u003E\n",
"width":550,
"height":null,
"type":"rich",
"cache_age":"3153600000",
"provider_name":"Twitter",
"provider_url":"https:\/\/twitter.com",
"version":"1.0"
}
この中の 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>
これが埋め込みタグだね!
以下,自分が何度もやってる作業だけど,毎回忘れちゃうからメモ.僕のYouTubeチャンネルの Nintendo Playthrough の統計をまとめるときの作業かな?
1) 画像を作る
np {VIDEO URL}
np の中身 https://lookbackmargin.home.blog/2018/10/29/52213760
alias の作り方 https://lookbackmargin.home.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}
取得した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}
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
twimgurl
は連続使用を想定してる.30回連続で実行すると,30行のURLリストがtwimgurl.txt
に書き込まれる.