我正在尝试使用PHP从网页收集文本,这样当网站上的文字更新时,它也会自动更新。
以网站http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500为例 - 在课程robux-text
内,有一个数字为R $ 20,003 - 我的目的是将文本从Roblox传到我的网站。
我尝试使用代码,但无济于事 - 我遇到了以下错误:
警告:file_get_contents():php_network_getaddresses:getaddrinfo 失败:名称解析暂时失败 第9行/home/public_html/index.php
警告: 的file_get_contents(http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500): 无法打开流:php_network_getaddresses:getaddrinfo失败: /home/public_html/index.php中名称解析暂时失败 第9行
警告:DOMDocument :: loadHTML():在第11行的/home/public_html/index.php中作为输入提供的空字符串
<?php
$html = file_get_contents("http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500");
$DOM = new DOMDocument();
$DOM->loadHTML($html);
$finder = new DomXPath($DOM);
$classname = 'robux-text';
$nodes = $finder->query("//*[contains(@class, '$classname')]");
foreach ($nodes as $node) {
echo $node->nodeValue;
}
?>
答案 0 :(得分:1)
似乎allow_url_fopen
已停用您的系统(php.ini
),这就是您收到错误的原因。
使用curl尝试:
<?php
libxml_use_internal_errors(true);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);
$DOM = new DOMDocument();
$DOM->loadHTML($html);
$finder = new DomXPath($DOM);
$classname = 'robux-text';
$nodes = $finder->query("//*[contains(@class, '$classname')]");
foreach ($nodes as $node) {
echo $node->nodeValue;
}
?>
答案 1 :(得分:0)
您可以通过curl轻松获取网址的html内容。您只需将returntransfer选项设置为true即可。