【发布时间】:2015-12-28 15:35:53
【问题描述】:
我正在尝试使用 PHP 获取元素的 href 值,但遇到了一些麻烦。这是我的代码的 sn-p。
<?php
ini_set("log_errors", 1);
ini_set("error_log", "php-error.log");
$target_url = "http://foo.bar";
$request = $target_url;
$html = $this->scraper($request);
$dom = new DOMDocument();
$dom->loadHTML($html);
// Error point - $dom is empty
error_log("dom:");
error_log($dom);
$xpath = new DOMXPath($dom);
error_log("setting target url");
$target_url = $xpath->query("//*[@class='foo_bar']/href");
?>
记录 $html 会产生标准的、完整的页面 HTML 输出。搜索显示我的 xpath 应该可以工作。但是,当我尝试在 loadHTML 之后记录 $dom 时,我得到一个空白结果。我已经挣扎了几个小时试图找出原因,但没有运气。
有人有什么想法/我可以尝试吗?
编辑添加控制台输出:
[30-Sep-2015 13:51:59 America/New_York] dom:
[30-Sep-2015 13:51:59 America/New_York] setting target url
【问题讨论】:
-
$this->scraper($request);如果你的 php 代码真的从这个 scraper 函数。 -
没有,刮板功能在别处。此代码是另一个函数的一部分。刮板部分工作正常,在其他网站的其他功能中使用没有问题。
-
它会返回什么?
-
编辑添加输出:)
-
对不起,我换个说法:
scraper($request)返回什么?
标签: php dom domdocument domxpath