2

Facebook の URL スクレーパーにはサイズ制限がありますか? ウェブサイトで数冊の本を入手できます。HMTL ファイルサイズが特定のサイズ (~390KB) 未満のものはスクレイピングされ、適切に読み取られますが、より大きな 4 つはそうではありません。これらの大きなアイテムは 200 応答コードを受け取り、正規 URL が開きます。

これらのページはすべて同じテンプレートを使用して作成されています。唯一の違いは、各ブック内のコンテンツのサイズと、各ブックがサイトの他のページに作成するリンクの数です。

  1. 正規の URL をクリックします
  2. Firebug を Firefox または Chrome の開発者ツールでネットワーク タブ 3 に開きます。
  3. 「スクレイパーがあなたの URL について見ているものを正確に見る」をクリックします。
  4. 失敗した場合は空白のページ、成功した場合は HTML が表示されます

失敗:

成功:

4

2 に答える 2

4

問題の解決策は、実際のユーザーまたは Facebook ボットがページにアクセスしているかどうかを確認することです。ボットの場合は、必要なメタ データのみをレンダリングします。Facebookのドキュメントによると、ユーザーエージェントを介してボットを検出できます。
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

コードは次のようになります (PHP の場合):

function userAgentIsFacebookBot() {
    if ($_SERVER['HTTP_USER_AGENT'] == "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)") {
        return true;
    }
    return false;
}
于 2012-08-13T12:14:21.840 に答える
0

これはあなたの側の問題ではありませんか?前回、スクレイパーがドキュメントの最初の 4096 バイトのみを要求したことを確認しました。これは<head></head>、メタ タグを含むセクションを取得するための十分なスペースである必要があります。

于 2012-08-11T15:21:46.820 に答える