使用PHP cURL和XPath,如何加快速度?

使用PHP cURL和XPath,如何加快速度?,php,xpath,curl,screen-scraping,Php,Xpath,Curl,Screen Scraping,目前,我正在使用PHP cURL和XPath,但速度非常慢 每个网站都有许多URL和使用Javascript的许多子页面 一个网站会有30个产品类别,每个类别大约有70个子页面,每个子页面上有10个项目 我用上面的东西总共刮了大约150个网页 一个脚本获取一个网站,一次一个地从该页面中删除所有URL。同时,另一个脚本正在运行,执行相同的操作 每个脚本获取一个URL,将数据提取到一个变量中,然后使用XPath对其进行刮取,然后将值存储在数据库中 许多页面使用Javascript和Microsoft

目前,我正在使用PHP cURL和XPath,但速度非常慢

每个网站都有许多URL和使用Javascript的许多子页面

一个网站会有30个产品类别,每个类别大约有70个子页面,每个子页面上有10个项目

我用上面的东西总共刮了大约150个网页

一个脚本获取一个网站,一次一个地从该页面中删除所有URL。同时,另一个脚本正在运行,执行相同的操作

每个脚本获取一个URL,将数据提取到一个变量中,然后使用XPath对其进行刮取,然后将值存储在数据库中

许多页面使用Javascript和Microsoft ASP.NET Viewstate,因此需要执行许多循环才能从第1页跳到第2页,等等

一个脚本可以运行约2小时,从单个网站获取所有信息

我们可以做些什么来加快速度

我一直在考虑做与上面相同的事情,但只是先在本地存储每个页面,然后当存储单个网站的每个页面时,再将其刮除


有谁在这方面很有经验吗?Javascript/viewstate必须考虑在内,所以我不能先把所有内容都设置好。

您可以使用mutli curl一次获取多个页面。如果您愿意,您可以在一个mutli curl请求中请求所有30个类别页面。对于处理每个页面,可以使用forking(pctl_fork)。结合这两种技术,您的计算机CPU/网络可能成为瓶颈