この記事は何
Twitter Publishにツイートのリンクをコピー&ペーストして取得できるHTMLをコピー&ペーストなしで取得したいので、python上でなにかコードを実行したときに取得できる方法を調べます。
oEmbed
日本語での解説は「oEmbedの紹介 | NHN Cloud Meetup」を参照してください。
oEmbedは、他のサイトのURLに内蔵された表現を可能にするFormatで...WebサイトがResourceを直接解析することなく、内蔵されたコンテンツを表示できるようにする
ためのAPIで、twitterにもウェブサイトにツイートを埋め込むHTMLを取得する方法が用意されている。
twitterをウェブサイトに埋め込むHTMLを取得する
ドキュメントの Embedded Tweets - developer.twitter.com に渡すことのできるパラメータが記載されている。conversation = none
と指定して会話を表示しないように指定できる。oEmbedのHTMLを取得する例は以下、from IPython.display import HTML
でインポートしているモジュールはjupyter notebook上で結果を表示するためだけに利用しています。
import urllib.request, json from IPython.display import HTML def get_tweet_embedcode(tweet_url): try: with urllib.request.urlopen(f"https://publish.twitter.com/oembed?url={tweet_url}") as url: data = json.loads(url.read().decode()) html = data["html"] return data["html"] except BaseException: return "" HTML(get_tweet_embedcode("https://twitter.com/nanjakorewa/status/1389037871323959300?s=20"))
出力は
となる。