我的脚本没有得到任何结果(空白页),我不明白为什么 我在其他网站上使用过这个脚本并且工作
$ url ='http://ip-score.com/checkip/207.224.78.193';
libxml_use_internal_errors(true);
$html = file_get_contents($url);
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$my_xpath_query = "//div[@id='MaxMind']";
$result_rows = $xpath->query($my_xpath_query);
foreach ($result_rows as $result_object){
echo $result_object->childNodes->item(0)->nodeValue;
}
我有方面得到这个结果:
207.224.78.193 United States
State: Minnesota
City: Minneapolis
ZIP: 55407
Hostname: 207-224-78-193.mpls.qwest.net, Whois
Organization: CenturyLink, History
ISP: CenturyLink
Mail Server: N\A
IP range: 207.224.71.0 - 207.224.97.191
Current region time: Thu 12th Mar 2015 - 02:52:15 GMT: -05:00
Region timezone: America/Chicago
我想从url(州,城市,邮编......)获取所有信息,但我无法逐一获取,所以我决定将所有信息分成var
答案 0 :(得分:0)
您的xpath表达式当前正在寻找该div作为文档的根元素。您可能希望使用//div[@id='MaxMind']
来完全搜索文档,或者只使用$dom->getElementById("MaxMind")
,因为此查询并不真正需要xpath。
另外值得注意的是:该元素的第一个子节点只是一个充满空白的文本节点。要转储div替换
中的所有内容echo $result_object->childNodes->item(0)->nodeValue;
与
echo $result_object->nodeValue;
虽然如果你想以更合理的方式获得那些东西,而不只是一个文本blob,像//div[@id='MaxMind']/p
这样的xpath表达式将为你提供每个“行”。