0

重複の可能性:
PHP用の堅牢で成熟したHTMLパーサー
ウィキペディアAPIが存在する場合、それを使用するにはどうすればよいですか?

私はYQLを使用してウィキペディアから情報を取得し、それをプライベートデータベースに保存しています。たとえば、私はこのページをスクレイピングしています。ページのすべての映画名が必要です。私はこのコードを使用しています:

HTML:

$.YQL("select * from html where url='http://en.wikipedia.org/wiki/Rajinikanth_filmography' and xpath='/html/body/div[3]/div[3]/div[4]/table'", function (data) {
            var str = data.query.results.table.tr;
            console.log(str);
            $.ajax({
                type: "POST",
                url: "db.php",
                data: {
                    sendingStr: str
                },
                success: function(data){
                    console.log(data);
                }
            });
        });

PHP:

$recv = $_POST['sendingStr'];
$arraySize = count($recv);
for ($i=1; $i < $arraySize; $i++) {
    foreach ($recv[$i]["td"][1] as $value) {
        foreach ($value as $val) {
            if(strlen($val["content"]) >= 3)
            {

                echo $val["content"] . "\n";

            }

        }
    }
}

これが私の問題です-ページで気付いた場合、テーブルの各行にはいくつかの行スパンがあります。しかし、それを廃棄すると、各行から最初の値しか取得できません。すべての値を取得するには、コードで何を変更する必要がありますか?

4

0 に答える 0