2017-06-21 57 views
0
<a class="_tr" href="/shopping/product/4889160295225917760/reviews?q=0028400047906&amp;sa=X&amp;ved=0ahUKEwiHjMGfo8_UAhUU5mMKHSK2BYUQvCQIYw"> 

我试图只使用$nodeList = $xpath->query("//a[@href]");PHP中使用DOMXPATH

我似乎无法得到它的工作,我只需要href值,我稍后会从中

解析额外 4889160295225917760额外HREF

当呼应以上我可以空屏幕

继承人我得到了什么

<?php 
$page = file_get_contents('https://www.google.com/search?q=0028400047906'); 
$doc = new DOMDocument(); 
$doc->loadHTML($page); 
$xpath = new DOMXPath($doc); 
$test = $xpath->query('//a[@class="_tr"]'); 
$href = $test->item(0)->getAttribute("href"); 
echo explode("/", $href)[3]; 
?>` 

我在做一些测试,并把它回到步骤#1,想通了,从的file_get_contents谷歌的搜索结果,其空屏幕检索什么

+0

请显示完整的代码。 –

+0

它不允许我粘贴完整的代码,但如果你可以请看看这个链接:https://www.google.com/search?q=0028400047906并帮助我,我真的appriciate它,谢谢! –

+0

你想从'href'获取所有ID吗? –

回答

0

这可能会实现,我已经做了很多使用XPath recently->

$nodelist = $xpath->evaluate("string(/a/@href)", NULL, FALSE); 

这工作在一个XML文件,不知道它是否可以与你的HTML虽然。

0

如果file_get_contents('https://...')未检索到任何内容,可能是因为通过运行时配置设置allow_url_fopen禁用通过URL打开外部文件。你可以用ini_get('allow_url_fopen')来检查它的值,如果它被启用,它将返回一个真值,如"1",或者如果它被禁用,则返回一个虚假值,如"0"或空字符串""

您需要访问系统范围内的php.ini(或httpd.conf)才能更改此设置,或与系统管理员联系。

如果设置无法更改,您需要使用类似cURL之类的内容来检索URL的内容。