【发布时间】:2012-06-20 07:02:06
【问题描述】:
我有一个网络爬虫,它会查找我想要的特定信息并将其返回。这是每天运行。
问题是我的爬虫必须做两件事。
- 获取它必须抓取的链接。
- 抓取上述链接并将内容推送到数据库。
#1 的问题是,总共有 700 多个链接。这些链接不会经常更改 - 可能一个月一次?
因此,一种选择是每月对“链接列表”进行一次单独的爬网,然后将链接转储到数据库中。
然后,让爬虫每天对这 700 个链接中的每一个进行 db hit。
或者,我可以只在我的爬虫中进行嵌套爬取 - 每次爬虫运行时(每天),它都会更新 700 个 URL 的列表并将其存储在一个数组中,然后从这个数组中提取它来进行爬取每个链接。
哪个对 Heroku 或任何主机更高效且负担更少?
【问题讨论】:
-
等等,什么不经常改变:要抓取的链接上的内容,或者你必须抓取的链接集?我不确定我是否理解您的问题或替代方案。
-
要抓取的链接集变化不大。
-
所以你的问题是:哪个“更好”,从本地数据库获取 700 行,还是执行返回这 700 个命中的 HTTP 请求?
标签: ruby-on-rails ruby nokogiri