-5

FacebookページIDを次から取得しようとしています:

http://fanpagelist.com/category/top_users/view/list/sort/fans/page1

それらは 25 個まであり、パターンを通じてソース コードを表示することで見つけることができます/like_box.php?id=89562268312https://graph.facebook.com/89562268312/pictureなど

<?php 
    $page = file_get_contents('http://fanpagelist.com/category/top_users/view/list/sort/fans/page1');
    preg_match_all('graph.facebook.com,picture', $page, $result, PREG_SET_ORDER);
    foreach ($result as $row) {
        echo "<p><b>$row[1]</b> $row[2]</p>\n";
    }
?>

問題は、タグではなくパターンをスクレイピングしようとしていることです。

4

1 に答える 1

1

You should be good with:

preg_match_all('#(?:(?<=\bhref="/like_box\.php\?id=)|' .
                '(?<=\bsrc="https://graph\.facebook\.com/))\d+#i',
                $page, $result, PREG_PATTERN_ORDER);

See this demo.

于 2012-11-15T17:51:11.087 に答える