当正文或行没有属性时抓取网站


Scraping a website when the body or row has no attributes?

我是新来的编码和新到这个网站,所以请给我轻松。

我有一些代码用于抓取网站,收集数据,并将其放入MySQL数据库。

我现在试图调整代码,所以它可以刮另一个网站,但是它没有任何类或id属性的<tbody><tr>标签,不像第一个网站。

示例:(这是我可以使用的)…

<table class="tabledata">
 <tbody>
  <tr>
   <td class="data1">123</td>
   <td class="data2">456</td>
   <td class="data3">789</td>
   <td class="data4">abc</td>
   <td class="data5">def</td>
  </tr>
  <tr>
   <td class="data1">987</td>
   <td class="data2">654</td>
   <td class="data3">321</td>
   <td class="data4">uvw</td>
   <td class="data5">xyz</td>
  </tr>
 </tbody>
</table>

仍然可以从每个单元格中获取数据吗?

许多谢谢。

更多信息:

我不会知道每个单元格中的数据,因为它是不断变化的。虽然我在上面的问题中只列出了2行,但实际上有几十行。

这只是我一直在尝试的代码的一部分:

    $d1s = $dom->find("table[class='tabledata']//tr");
$ord = 1;
foreach($d1s as $d1){
    //echo $d1->plaintext;
    //$d1->dump_node(true);

可以通过DOMXPATH类实现。

$html = your table path
$document = new DOMDocument();
$document->loadHTML($html);
$selector = new DOMXPath($document);
$results = $selector->query('//td/a[text()="the name"]/..');

foreach($results as $node) {
echo $node->nodeValue . PHP_EOL;
}

请看这里