我是Ruby on Rails的新手,想要创建一个抓取数据并将其插入数据库的抓取工具。我目前正在使用Heroku,因此我无法直接访问数据库,并想知道将爬虫脚本集成到RoR框架中的最佳方式是什么。我将使用每小时或每日cron来运行脚本。插入Rails数据库
0
A
回答
0
我建议1 2的选项:
使用了一个
require rubygems
你想要完成的任务,其他辅助库(不管喜欢的Rails,ActiveRecord的),然后沿cron的Ruby脚本那个脚本。如果您使用Rails还提供Web应用程序,请使用计算机的hosts文件,以便该计算机上的
wget
(或类似)将正确地将请求映射到该实例的rails;从那里,只需将其设置为一个Web应用程序,并在您的CRON中使用wget
命令。效率不是非常高,但如果您只是在现有设置的基础上寻找快速和肮脏的东西,那很好。只需确保将STDOUT
和STDERR
发送到/dev/null
,这样您就不会累积CRON文件。
2
如果你在Heroku上使用Rails,你可以使用像Datamapper或ActiveRecord这样的ORM适配器。这样可以让你访问你的数据库,但通过一个图层基本上。如果您需要将原始SQL发送到数据库,您可以但通常不推荐使用,因为ORM提供了几乎所有您需要的东西。
你基本上只需在你的rails应用程序中创建模型,就像普通表格和表格中的相关字段一样。
rails g model page meta_title:string page_title:string
rake db:migrate # This has to be run on heroku too "heroku rake db:migrate" after you have pushed your code up
然后在你的履带式脚本,你可以只用你的模型创建记录......
Page.create(:title => crawler[:title], :meta_title => crawler[:meta_title])
通常情况下,你可以使用每当(https://github.com/javan/whenever)至管理你的cronjobs,但在Heroku我不确定它是如何工作的,因为我之前没有设置过Heroku。
相关问题
- 1. 插入数据库
- 2. 数据库插入
- 3. 插入数据库
- 4. 通过rails命令将数据插入数据库的问题
- 5. Ajax上传POST数据没有插入数据库在Rails 3
- 6. C#插入数据库,没有错误和数据没有插入数据库
- 7. 插入名单数据库
- 8. 插入值到数据库
- 9. 插入到mysql数据库
- 10. 空值插入数据库
- 11. 插入sqlite3数据库
- 12. 插入到MySQL数据库
- 13. 插入在DB2数据库
- 14. 数据库插入与laravel
- 15. 插入数据库条件
- 16. TDD插入到数据库
- 17. 插入数据库与PHP
- 18. 刮板插入数据库
- 19. 错误插入数据库
- 20. onCreate()与数据库插入
- 21. Laravel插入数据库
- 22. NullPointerException对数据库插入
- 23. 插入MySQL数据库
- 24. mysqli插入数据库
- 25. 不插入数据库!
- 26. 插入到oracle数据库
- 27. 插入到Access数据库
- 28. 避免数据库插入
- 29. yii2插入数据库
- 30. Wikipedia Graph数据库插入