重複の可能性:
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";
}
}
}
}
これが私の問題です-ページで気付いた場合、テーブルの各行にはいくつかの行スパンがあります。しかし、それを廃棄すると、各行から最初の値しか取得できません。すべての値を取得するには、コードで何を変更する必要がありますか?