[英]Php extra HREF using DOMXPATH
<a class="_tr" href="/shopping/product/4889160295225917760/reviews?q=0028400047906&sa=X&ved=0ahUKEwiHjMGfo8_UAhUU5mMKHSK2BYUQvCQIYw">
我试图只使用$nodeList = $xpath->query("//a[@href]");
我似乎无法使它正常工作,我只需要href值,稍后我就将其解析为额外的4889160295225917760
在回显以上内容时,我可以空白屏幕
这是我得到的
<?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从Google搜索结果中什么都没检索到,这是一个空屏幕
这可能行得通,最近我对xpath做了很多->
$nodelist = $xpath->evaluate("string(/a/@href)", NULL, FALSE);
这可以在xml文件中使用,但不确定是否可以与您的html一起使用。
如果file_get_contents('https://...'
)没有检索到任何内容,则可能是因为运行时配置设置allow_url_fopen
禁止了通过URL打开外部文件。 您可以使用ini_get('allow_url_fopen')
检查其值,如果已启用,则应返回真实值,例如"1"
;如果已禁用,则返回假值,例如"0"
或空字符串""
。
您需要访问系统范围的php.ini
(或httpd.conf
)才能更改此设置,或与系统管理员联系。
如果无法更改设置,则需要使用cURL之类的东西来检索URL的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.