【问题标题】:PHP Simple html dom parser with array links - file_get_contents error带有数组链接的 PHP 简单 html dom 解析器 - file_get_contents 错误
【发布时间】:2015-02-09 21:35:04
【问题描述】:

我有一个带有 textarea 的表单(每行链接一个):

<textarea class="form-control" rows="10" name="links" id="links"></textarea>

和php代码:

function scrape($link) {
  $html = file_get_html("$link");
........
}

$links = $_POST["links"];
$lines = explode("\n", $links);

foreach($lines as $line){
  scrape($line);
}

错误: 警告:file_get_contents(site.com):打开流失败:HTTP 请求失败! HTTP/1.0 404 未找到

【问题讨论】:

  • 打开流失败
  • 我认为问题出在引号上。所有链接都有效。
  • 你在这里给了我们很多信息

标签: php html dom


【解决方案1】:

您可以通过file_get_contents()打开网站;但是,您需要提供完整的 URL 来实现这一点,例如:http://www.example.com。但是,您可能会在某些页面上遇到问题,在这种情况下,您可以使用 CURL 或 StreamSockets 来获取(远程)网站。

编辑:此外,您应该注意,某些操作系统将\r\n 视为其他人“认为”的是简单的\n。您可以尝试使用前一个脚本;事实证明它可以在我的 Windows 机器上运行。

【讨论】:

  • 我不知道会发生什么。当我在 textarea 中放置单个链接时,脚本运行良好。当我放置多个链接时出现此错误。网址已满(包括 http://)
  • 谢谢。问题出在explode: $lines = explode("\r\n", $links);
猜你喜欢
  • 2018-02-23
  • 1970-01-01
  • 2017-03-29
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多