简化一次运行多个请求的过程

时间:2018-03-30 19:38:59

标签: php multithreading simple-html-dom

我计划建立一个网站,足够匆匆地需要立即抓取多个网站。我正在思考如何尽可能快地做到这一点,但我真的不知道如何。

我使用PHP Simple HTML DOM Parser为某些项目搜索一些网站。它看起来像这样:

$html = file_get_html($fullUrl);

$collection = $html->find('div.info');

如果我想一次抓取多个网站,我是否可以通过将其分支到不同的PHP文档来简化抓取过程,可能使用单独的simple_html_dom.php文档?页面A向页面B和C发出一个请求,它们分别将数据返回到页面A.它们是同时运行还是只是排队?

我已经查看了PHP多线程,并得出结论它有点先进,我不太了解如何将现有模板实现到我的特定代码设置。

任何想法都将受到高度赞赏。先感谢您。

1 个答案:

答案 0 :(得分:0)

如果我是你,我肯定会考虑PHP中的并行处理,无论你认为是什么"高级"

这是一般概念的伪代码:

while(hasMoreSitesForScrapingInQueue){
     if(numOfCurrentlyRunningProcesses < maxNumberOfProcesses){
          // create new process that invokes file_get_html() and completes associated logic
     }
}