我正在尝试从html源获取所有URL,但是返回的有效内容不会带来“href”属性。
这是我的代码:
include('simple_html_dom.php');
$foundHits = array();
getArticles('https://pinpoint.microsoft.com/pt-PT/search?keyword=azure');
function getArticles($page) {
global $foundHits;
$html = new simple_html_dom();
$html->load_file($page);
$hits = $html->find('div[class="companySearchResults"] div[class="itemRight"] a[class=searchResult]');
foreach($hits as $hit) {
$foundHits[] = $hit->attr['href'];
}
var_dump($foundHits);
}
如果我var_dump $命中变量,这是一个返回的样本:
array (size=2)
0 =>
object(simple_html_dom_node)[447]
public 'nodetype' => int 1
public 'tag' => string 'a' (length=1)
public 'attr' =>
array (size=2)
'data-bind' => string 'href: uri + '?id=searchResult'' (length=30)
'class' => string 'searchResult' (length=12)
public 'children' =>
(...)
你有没有看到,在“attr”数组中我没有得到href标签内容,尽管存在。
但是,如果我将源URL中的内容复制到项目文件夹中的.html,并使用此本地.html作为我的源文件,结果如下:
0 =>
object(simple_html_dom_node)[650]
public 'nodetype' => int 1
public 'tag' => string 'a' (length=1)
public 'attr' =>
array (size=3)
'data-bind' => string 'href: uri + '?id=searchResult'' (length=30)
'class' => string 'searchResult' (length=12)
'href' => string '/pt-PT/Companies/4295470302?id=searchResult' (length=43)
(...)
我做错了什么?谢谢你的帮助!