<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从谷歌搜索结果中检索不到任何内容,它是一个空屏幕
答案 0 :(得分:0)
这可能有用,我最近用xpath做了很多 - &gt;
$nodelist = $xpath->evaluate("string(/a/@href)", NULL, FALSE);
这适用于xml文件,但不确定它是否适用于您的html。
答案 1 :(得分:0)
如果file_get_contents('https://...'
)没有检索任何内容,可能是因为运行时配置设置allow_url_fopen
禁用了通过URL打开外部文件。您可以使用ini_get('allow_url_fopen')
检查其值,该值应返回真值,如"1"
,如果已启用,或返回值"0"
或空字符{{1} },如果它被禁用。
您需要访问系统范围""
(或php.ini
)才能更改此设置,或与系统管理员联系。
如果无法更改设置,则需要使用cURL之类的内容来检索网址的内容。