首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于CRON的数据自动抓取

问基于CRON的数据自动抓取
EN

Stack Overflow用户
提问于 2011-03-01 23:59:11
回答 1查看 1.3K关注 0票数 2

我目前正在开发一个应用程序,从一个赛车网站上获取关于灰狗的信息,并对给定的数据进行一些计算。当前应用程序根据用户输入在赛车网站上执行单独的YQL请求,从而设法正确显示数据并执行正确的计算。

但是,我发现由于大量的HTTP调用和缺乏数据缓存,应用程序的速度往往有点慢。为了加快速度,并打开进一步分析数据的能力,我想建立某种系统,通过cron选项卡在前天晚上对所有相关数据进行刮擦和存储。然而,我不知道该怎么做。

目前,应用程序经历了以下粗略的过程:

dog

  • Calculate
  1. 允许用户选择一个日期
  2. 执行YQL查询和迭代结果以获得该日期上的所有比赛
  3. 允许用户从上面的列表中选择比赛
  4. 执行YQL查询并迭代结果以获得比赛中的所有狗狗

h 19执行YQL查询并遍历结果,根据每条狗执行的比赛获得每个统计数据所执行的所有比赛<代码>H 212H 113>输出所有H 214G 215>

正如您所看到的,有相当多的独立HTTP请求。这是不可避免的,因为每个数据集存在于不同的网页上的赛车网站。因此,我更希望通过一个单独的系统将大部分处理排除在外,并将数据存储在数据库中,而不是在用户请求时获取和处理数据。

我可以轻松地从当前系统中提取提取和计算处理,并让它们从cron选项卡上运行,但它们都是从单个PHP请求中运行的。这意味着服务器必须遍历数千条数据,将每组数据存储在一个数据库中,所有这些数据都在一个PHP请求中。如果没有尝试过,我会假设请求会超时?

总之,以下是我的问题:

  1. 如果我把处理放在一个PHP文件中并从cron运行它,它是在完成任务之前超时,还是只会继续努力?
  2. 是否有任何预先存在的库来处理这样的任务?
  3. 对实现这个任务的其他方法有什么想法吗?

。

非常感谢,

丹

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-02 00:12:25

大量抓取站点,按需缓存如何?

这可能更容易实现,而且如果他们的TOS不允许爬行(可能不允许),也不会使竞赛站点产生怀疑。

您只需要一个本地sql表,该表按日期键控,并为您已经输出的统计信息提供列。

你的流量会像

date

  • Do

  • 允许用户选择一个
  1. 查询以查找该日期的预先计算数据。如果数据不存在goto 3,则为goto 9。dog
  2. Store
  3. 执行YQL查询并遍历该日期的所有竞赛,
  4. 允许用户从上面的列表中选择竞赛--
  5. 执行YQL查询并遍历结果,以使竞争中的所有狗执行YQL查询,并遍历结果,根据每个dog
  6. Store统计信息按用户日期执行的竞赛,得到由每个dog
  7. Store统计信息执行的所有竞赛--输入到sql table.
  8. Output H 222G 223/code>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5161921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档