我正在使用 YQL 从 Wikipedia 获取信息并将其存储在我的私有数据库中。例如,我正在抓取此页面。我需要页面中的所有电影名称。我正在使用这段代码:
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";
}
}
}
}
这是我的问题 - 如果您在页面中注意到,表中的每一行都有几个行跨度。但是当我废弃它时,我只能从每一行中获得第一个值。我应该在我的代码中进行哪些更改以便获得所有值?