【问题标题】:Scrape URLs in a mongodb and update records with scraped text在 mongodb 中抓取 URL 并使用抓取的文本更新记录
【发布时间】:2012-05-28 15:46:31
【问题描述】:

我有一个维基百科文章编辑的序列化集合,我使用 node.js 流式传输并存储到 mongodb。它们看起来像这样:

{ "time" : 1338144181565, "page" : "Pavol Országh Hviezdoslav", "url" : "http://es.wikipedia.org/w/index.php?diff=56528327&oldid=56521690", "delta" : -60, "_id" : ObjectId("4fc275b5cd08c22d31000001") }
{ "time" : 1338144183265, "page" : "Indian Premier League", "url" : "http://en.wikipedia.org/w/index.php?diff=494656175&oldid=494656151", "delta" : -12, "_id" : ObjectId("4fc275b7cd08c22d31000002") }
{ "time" : 1338144187346, "page" : "Dizz Knee Land", "url" : "http://en.wikipedia.org/w/index.php?diff=494656189&oldid=494656176", "delta" : -84, "_id" : ObjectId("4fc275bbcd08c22d31000003") }

URL 显示了编辑中的差异,我将使用 python 脚本抓取已编辑的文本,然后希望使用新字段“edit_text”和可能的 img src (“image_url”) 更新记录来自每篇维基百科文章的图片(如果有的话)。

我们的想法是最终将更新的数据流式传输到 Web 应用程序,该应用程序在上下文中显示已编辑的文本以及页面标题和图像(如果后者存在)。

如何通过将所有结果保存在同一个集合中来做到这一点,或者将结果存储在新集合中会更好吗?

【问题讨论】:

    标签: python node.js mongodb


    【解决方案1】:

    出于以下几个原因,我会将抓取文件的内容存储在另一个集合中:

    1. 具有编辑事件的当前集合仅追加,这意味着您永远不会有任何更新。这使得它的存储速度快如闪电。抓取的文档集合可能包含更大数量级的文档。
    2. 这两种类型的文档是两种截然不同的文档类型,因此并不真正属于同一个集合。它使索引变得不必要的复杂,并且您可能不得不创建更多包含大量不相关信息的索引。

    【讨论】:

      猜你喜欢
      • 2019-03-27
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多