为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕尼黑8549860 2022-09-17 21:35:28
我正在使用file_get_contents获取网站的整个HTML代码,并将其保存到变量中。本网站的内容基于时间,并经常更新。我需要运行一个脚本,该脚本将从其HTML中获取特定的列和行,然后我计划将其转换为人类可读的文本形式。我现在的问题是,我对应该使用什么方法来扫描HTML,找到我想要提取的列和行,并且只有在自上次运行脚本以来对其进行了更新时才保存它。
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

如果您熟悉 DOM 遍历,请尝试使用 DOM文档::加载HTML。然后使用其他 DOM 文档方法来获取所需的信息。

下面是一些示例:

<!DOCTYPE html>

<!-- test.html -->

<html><body>

    <table id = "target_table"><tbody>

        <tr><td>this</td><td>something</td></tr>

        <tr><td>is</td><td>in</td></tr>

        <tr><td>a</td><td>a</td></tr>

        <tr><td>test</td><td>column</td></tr>

    </tbody></table>

    <table><tbody>

        <tr><td>ignore</td><td>this</td></tr>

        <tr><td>table</td><td>.</td></tr>

    </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) {

  echo $element->textContent, PHP_EOL;

}


查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号