我目前正致力于一个应用程序,该应用程序从赛车网站收集有关赛狗的信息,并对给定数据执行大量计算。当前应用程序通过根据用户输入在赛车网站上执行单独的YQL请求,设法正确显示数据并执行正确的计算。
但是,我发现由于大量的HTTP调用和缺少数据缓存,应用程序往往有点慢。为了加快速度并开放进一步分析数据的能力,我想构建一种系统,通过cron选项卡来刮取并存储前一天晚上与之相关的所有数据。但是,我不确定如何去做。
目前,该应用程序经历了以下粗略过程:
正如您所看到的,有很多单独的HTTP请求。这是不可避免的,因为每个数据集都存在于赛车网站的不同页面上。出于这个原因,我宁愿通过一个单独的系统来完成大部分处理,并将数据存储在数据库中,而不是在用户请求时进行收集和处理。
我可以轻松地从当前系统中提取提取和计算处理,只需从cron选项卡运行它们,但它们都将从单个PHP请求运行。这意味着服务器必须迭代数千个数据,将每个数据集存储在数据库中,所有这些都在一个PHP请求中。没试过,我会假设请求会超时?
总而言之,以下是我的问题:
非常感谢,
丹
答案 0 :(得分:1)
对网站进行大规模爬行,按需缓存怎么样?
这可能更容易实现,并且如果他们的TOS不允许抓取(可能不会),则不会使竞赛网站产生怀疑。
您只需要一个按日期键入的本地sql表,并且包含您已输出的统计信息的列。
你的流程会像