我正在尝试抓取我网站上的每个页面(由 cron 运行)以更新数据。大约有500页。
我已经尝试了 2 个选项。
- PHP 简单的 HTML DOM 解析器
- PHP get_headers
使用上述任何一种方法,每个页面大约需要 1.402 秒才能加载。这总共需要大约 570 秒。
有没有更有效的方法来做到这一点?
我正在尝试抓取我网站上的每个页面(由 cron 运行)以更新数据。大约有500页。
我已经尝试了 2 个选项。
使用上述任何一种方法,每个页面大约需要 1.402 秒才能加载。这总共需要大约 570 秒。
有没有更有效的方法来做到这一点?
并行请求页面(即同时)。然后每个请求需要多长时间都无关紧要,因为许多请求会立即触发。
有很多方法可以实现这一点,但这里有一个例子:
curl www.website.com/page1 &
curl www.website.com/page2 &
curl www.website.com/page3 &
使用 xargs 或其他工具来防止过多的并发连接淹没服务器。例如Bash 脚本并行处理命令
在单个 PHP 脚本中并行运行命令可能很复杂。如果可能,更容易使用命令行。