ツイートに外部サイトへのリンクが含まれているかどうかを確認するには、ツイートに 'http:' が含まれていることを確認するだけです。これで十分ですか?
Twitter REST API を使用してツイートにアクセスしているので、ツイートを含む json 応答を解析します。
ツイートに外部サイトへのリンクが含まれているかどうかを確認するには、ツイートに 'http:' が含まれていることを確認するだけです。これで十分ですか?
Twitter REST API を使用してツイートにアクセスしているので、ツイートを含む json 応答を解析します。
Twitter Entitiesを使用して、ツイートのすべての URL を取得できます。REST 呼び出しを行うときは、必ず以下を含めてください。
&include_entities=true
これにより、エンティティと呼ばれる JSON または XML のセクションが表示されます。urls という子ノードがあります。
返されるものの例を次に示します。
"text": "Twitter for Mac is now easier and faster, and you can open multiple windows at once http://t.co/0JG5Mcq",
"entities": {
"media": [
],
"urls": [
{
"url": "http://t.co/0JG5Mcq",
"display_url": "blog.twitter.com/2011/05/twitte…",
"expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",
"indices": [
84,
103
]
}
],
"user_mentions": [
],
"hashtags": [
]
}
そのため、entities -> urls を探して、ツイートに外部サイトへのリンクが含まれているかどうかを確認します。
どのようにツイートにアクセスしますか? Twitter サイトをスクレイピングするか、API を使用するか。API を使用する場合、どの API を使用するかなど。js-tweet-text
ソースのセクションは常に http:// でリンクするようにフォーマットされているように見えますが、保証されていない可能性があります。href
代わりに探してみませんか?
例:
<p class="js-tweet-text">
Blabla tweet text... <a data-expanded-url="http://bit.ly/somelink"
class="twitter-timeline-link" href="http://t.co/stuff"
rel="nofollow" class="twitter-timeline-link">bit.ly/somelink
</a>
</p>
ここでは、 と の両方data-expanded-url
がtwitter-timeline-link
実際のリンクを提供しているように見えhref
ますが、Twitter フィルターを介してリダイレクトされます。とにかく、確かなことの 1 つは、リンクにhref
.