0

ツイートに外部サイトへのリンクが含まれているかどうかを確認するには、ツイートに 'http:' が含まれていることを確認するだけです。これで十分ですか?

Twitter REST API を使用してツイートにアクセスしているので、ツイートを含む json 応答を解析します。

4

2 に答える 2

1

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 を探して、ツイートに外部サイトへのリンクが含まれているかどうかを確認します。

于 2012-06-17T08:48:19.793 に答える
1

どのようにツイートにアクセスしますか? 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-urltwitter-timeline-link実際のリンクを提供しているように見えhrefますが、Twitter フィルターを介してリダイレクトされます。とにかく、確かなことの 1 つは、リンクにhref.

于 2012-06-16T14:48:06.407 に答える