Php 从每个tr中的第一个td检索数据
我正在抓取一个页面,其中包含一个包含多个tr的表格。在每个tr中有四个td,我想从第一个td中获取数据。下面是我到目前为止尝试过的代码,但它抓住了所有td。我怎样才能实现我想要的Php 从每个tr中的第一个td检索数据,php,screen-scraping,simple-html-dom,Php,Screen Scraping,Simple Html Dom,我正在抓取一个页面,其中包含一个包含多个tr的表格。在每个tr中有四个td,我想从第一个td中获取数据。下面是我到目前为止尝试过的代码,但它抓住了所有td。我怎样才能实现我想要的 ... $html = new simple_html_dom(); $html = file_get_html($url); foreach($html->find('table tr') as $row) { foreach($row->find('td', 0) as $cell) {
...
$html = new simple_html_dom();
$html = file_get_html($url);
foreach($html->find('table tr') as $row) {
foreach($row->find('td', 0) as $cell) {
echo $cell;
}
}
想想为什么要使用第二个
foreach
,而实际上只想对每行中的一个元素执行操作
$html = new simple_html_dom();
$html = file_get_html($url);
foreach($html->find('table tr') as $row) {
$cell = $row->find('td', 0);
echo $cell;
}
简单的HTMLDOM是一个垃圾。使用内置的dom函数和xpath更简单:
$dom = new DOMDocument();
@$dom->loadHTMLFile($url);
$xpath = new DOMXPath($dom);
foreach($xpath->query('//td[1]') as $td){
echo $td->nodeValue;
}
也就是说,没问题。您还可以一次完成$cells=$html->find('table tr')->find('td',0)
,我认为$cells
最终将成为所有第一个td元素的数组,您可以根据需要将其转储。(顺便说一句,请标记为已接受?谢谢!)下次为+1显示一些html