获取网站 HTML,然后查找和复制列和行:PHP

我正在使用file_get_contents获取网站的整个HTML代码,并将其保存到变量中。

本网站的内容基于时间,并经常更新。我需要运行一个脚本,该脚本将从其HTML中获取特定的列和行,然后我计划将其转换为人类可读的文本形式。

我现在的问题是,我对应该使用什么方法来扫描HTML,找到我想要提取的列和行,并且只有在自上次运行脚本以来对其进行了更新时才保存它。


慕尼黑8549860
浏览 127回答 1
1回答

12345678_0001

如果您熟悉 DOM 遍历,请尝试使用&nbsp;DOM文档::加载HTML。然后使用其他&nbsp;DOM 文档方法来获取所需的信息。下面是一些示例:<!DOCTYPE html><!-- test.html --><html><body>&nbsp; &nbsp; <table id = "target_table"><tbody>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>this</td><td>something</td></tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>is</td><td>in</td></tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>a</td><td>a</td></tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>test</td><td>column</td></tr>&nbsp; &nbsp; </tbody></table>&nbsp; &nbsp; <table><tbody>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>ignore</td><td>this</td></tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr><td>table</td><td>.</td></tr>&nbsp; &nbsp; </tbody></table></body></html>这将抓取特定表中的所有行并转储其文本内容:<?php$string = file_get_contents("test.html");$doc = DOMDocument::loadHTML($string);$xpath = new DOMXpath($doc);$elements = $xpath->query("//*[@id=\"target_table\"]/*/tr");foreach ($elements as $element) {&nbsp; echo $element->textContent, PHP_EOL;}
打开App,查看更多内容
随时随地看视频慕课网APP