当前位置: 首页 > 知识库问答 >
问题:

PHP-从类内获取文本

张嘉佑
2023-03-14

我正在尝试使用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失败:在/home/public\u html/index中名称解析暂时失败。php第9行

警告:file_get_contents(http://www.roblox.com/CW-Ultimate-Amethyst-Addiction-item?id=188004500):打开流失败:php_network_getaddresses:getaddrinfo失败:第9行 /home/public_html/index.php名称解析暂时失败

警告:DOM文档::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;
}
?>

共有2个答案

荣俊杰
2023-03-14

您可以通过curl轻松获取url的html内容。您只需将returntransfer选项设置为true。

居和顺
2023-03-14

您的系统似乎禁用了allow\u url\u fopenphp.ini),这就是为什么会出现错误。

试试卷发:

<?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;
}
?>
 类似资料:
  • PHP/Apache2中的文件获取内容是从Facebook获取用户图片。直到最近,它一直运转良好。现在,它总是在一分钟后超时,在我的Apache2 error.log中有以下错误: PHP警告:文件\u获取\u内容(https://graph.facebook.com/999999999/picture?width=200):无法打开流:连接超时 下面是代码(我最近添加了$context以查看它是

  • 我有一个解析树,它是opennlp中类的对象。我想打印解析树中的文本。例如,考虑以下句子: 。中的方法返回整个句子,而不仅仅是与解析树关联的字符串。有没有直接在OpenNLP中实现的方法?

  • 问题内容: 当我在浏览器中使用以下URL时,它将提示我下载带有JSOn内容的文本文件。 https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json (单击上面的URL查看下载的文件内容) 现在,我想创建一个php页面。我希望当我调用此php页面时,它应调用上述URL并从文件中

  • 我有一个简单的取回请求。我不是promise和异步代码方面的专家,但据我所知,fetchurl发送一个请求来打开/获取/发布一个url,并返回传递该内容的promise(响应)。当获取内容时,我可以在文本(response.text())中解析它。解析后的文本/json,无论什么,都会作为数据传递给另一个函数,并在这里进行处理 **JS代码** 因此,如果我获取一个PHP URL,返回一个json

  • 问题内容: 所以我想知道当在多个php文件中使用变量名时,是否有可能从特定的php文件中获取变量。一个例子是这样的: page1.php有 page2.php有 footer.php应该有 好的,这个例子有点抽象,但是就我所能讲的那么短。我想你明白我的意思!这就是我追求的页脚!有什么解决办法吗? 问题答案: 您可以,但是最后一个include中的变量将覆盖第一个中的变量: myfile.php m

  • 我需要从应用程序的根内部获得一个资源,当它打包到JAR中时。我的项目是这样的: 我使用以下代码: 在打包到jar之前运行时,它会发现文件很好(在ProjectRoot内部)。运行jar时,它找不到它,并将此路径转换为。 此代码: 在打包之前运行时,查找中的资源。打包后,它声称从中获取资源。 此代码: 我想做的只是将资源放在中,并且能够从jar外部(从IDE运行类文件时)和内部(使用Maven将文件