php - 简单的网页抓取 PHP Xpath DOM

标签 php dom xpath web-scraping

我正在尝试学习网络抓取并使用此示例从页面获取链接。有没有更好的方法来做到这一点,或者例如获得 h1 的最简单方法是什么?

$html = file_get_contents('page.html');

//parse the html into a DOMDocument
$dom = new DOMDocument();
@$dom->loadHTML($html);

//grab all the links on the page
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");

for ($i = 0; $i < $hrefs->length; $i++) {
    $href = $hrefs->item($i);
    $url = $href->getAttribute('href');
    echo "<br />Link: $url";

}

最佳答案

无需在 expath 前面加上 /html/body//a 应该可以正常工作。

另外,我会使用 foreach而不是 for 循环,但这主要是一种风格选择。

关于php - 简单的网页抓取 PHP Xpath DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493362/

相关文章:

javascript - 从 DOM 中检索所有可滚动元素

Selenium XPath 文本搜索在子字符串中使用单引号

php - 哪个更有效,PHP 字符串函数或 PHP 中的正则表达式?

php - 在 PHP 中编辑图像颜色 - 颜色交换

javascript - 在 JavaScript 数组中存储 DOM 元素引用。为什么我不能重用存储的引用来添加 eventListener?

Javascript和HTML数据模型和表示模型设计问题

python - Selenium 与 Python : can't select inside &lt;! DOCTYPE ... 过渡//EN>

python - 使用selenium和python通过CssSelector的 "begins with"方法定位元素

php - 什么可以使更新查询不更新但返回成功

php - 计算错误?