尝试从网站上的表格中刮取数据。我得到了下面的PHP书面,但它不工作。收到使用简单HTML DOM循环表格
以下错误:注意:试图让非对象的财产DataScraping.php第27行
//Sets the HTML DOM Library
require_once 'C:/xampp/php/lib/SimpleHTMLDOM/simple_html_dom.php';
$html = new simple_html_dom();
$html = file_get_html('https://www.flightradar24.com/data/flights/british-airways-ba-baw');
foreach($html->find('table[id=tbl-datatable]') as $datatable) {
foreach($datatable->find('tr') as $tr) {
foreach($tr->find('td') as $td) {
if(strpos($td->find('a', 0)->href, 'https://www.flightradar24.com/data/flights/') !== false) {
echo $td->find('a', 0)->innertext .", " .$td->find('a', 0)->href;
}
}
}
}
另外值得一提的是,这个数据是公开可用,它是只用于个人用途。请不要评论版权侵权 - 我想要做的事情没有错。
我只是试图刮去航班号,只有内部文本和站点后面的网址。任何帮助,我要去哪里错了?
附加测试提供我所需要的数据,但与行之间的同样的错误:
foreach($html->find('table[id=tbl-datatable]') as $datatable) {
foreach($datatable->find('tr') as $tr) {
foreach($tr->find('td') as $td) {
if (strpos($td->find('a', 0)->href, '/data/flights/') !== false) {
$test = $td->find('a', 0)->href;
$test2 = $td->find('a', 0)->innertext;
echo $test .", " .$test2;
}
}
}
}
铝对,那些线是27线? –
if语句之后的回显。 – DARKOCEAN
我很惊讶,如果语句评估为真(但它必须如果你看到这个错误);当我查看该页面的源代码时,hrefs都是相对的。也许我不明白SimpleHTMLDOM是如何工作的。 –