我有一个数以万计的网站列表。我必须迭代它们,并且在每次迭代中 - 调用给定url的file_get_contents,使用regex从源搜索一些信息,并将其写入另一个文件。使用file_get_content获取网站的来源
好的,事情是 - 它非常非常慢。我将整个过程划分为每次刷新页面时搜索约50个URL。但是:
- 我不得不刷新页面,直到我得到一个几千
- 即使只有50个网址,我得到30秒的时间超过
有没有一种方法,以加快这起来了吗?
我有一个数以万计的网站列表。我必须迭代它们,并且在每次迭代中 - 调用给定url的file_get_contents,使用regex从源搜索一些信息,并将其写入另一个文件。使用file_get_content获取网站的来源
好的,事情是 - 它非常非常慢。我将整个过程划分为每次刷新页面时搜索约50个URL。但是:
有没有一种方法,以加快这起来了吗?
set_time_limit(int $ seconds)可以帮助您增加最大执行时间。 http://php.net/manual/fr/function.set-time-limit.php
我假设你正在使用你的脚本浏览器。也许你应该考虑从命令行执行,因为对于长执行时间脚本来说更好。
并行服务器进程 – Drakes
这将有助于运行使用例如异步的请求。 https://github.com/amphp/artax。但即使超过30秒也不算什么,听起来对于你正在做的事情是一个奇怪的要求。 – PeeHaa