【发布时间】:2013-05-20 20:28:47
【问题描述】:
我有一个 Alexa 排名前 100 万的列表。我想检查这 100 万个站点中哪些是具有页面 www.domain.com/pageNameUrl 的站点。 我试过了
foreach($sites as $site){
$file_headers = @get_headers($site);
if(strpos($file_headers[0],"200 OK") !== false) {
$exists = true;
//save site name code...
} else {
$exists = false;
}
}
但是这段代码花费了太多时间。浏览所有站点需要 1 个月甚至更长时间。还有其他更快的方法吗?
【问题讨论】:
-
您运行它的服务器的配置是什么?也许你应该考虑在云中晒太阳。如果您在自己的机器上运行它,很明显脚本运行缓慢。
-
你真的需要考虑使用另一种能够线程化的语言。 PHP在这里不是很好用。您可以通过并行执行大量检查来提高速度
-
似乎适合异步请求
-
考虑使用 Node.js 异步执行此操作
标签: php parsing file-get-contents