0

我正在尝试抓取我网站上的每个页面(由 cron 运行)以更新数据。大约有500页。

我已经尝试了 2 个选项。

  • PHP 简单的 HTML DOM 解析器
  • PHP get_headers

使用上述任何一种方法,每个页面大约需要 1.402 秒才能加载。这总共需要大约 570 秒。

有没有更有效的方法来做到这一点?

4

1 回答 1

0

并行请求页面(即同时)。然后每个请求需要多长时间都无关紧要,因为许多请求会立即触发。

有很多方法可以实现这一点,但这里有一个例子:

curl www.website.com/page1 &
curl www.website.com/page2 &
curl www.website.com/page3 &

使用 xargs 或其他工具来防止过多的并发连接淹没服务器。例如Bash 脚本并行处理命令

在单个 PHP 脚本中并行运行命令可能很复杂。如果可能,更容易使用命令行。

于 2016-06-23T11:09:48.277 回答