我一直在研究cURL脚本,我终于完成了,是的!基本上,现在,我正在抓取错误/成功消息并存储它,但我应该如何存储它?我应该将它存储在.txt文件还是MySQL中。什么是有效/通用的做法?
修改 我已经有了一个MySQL数据库。我不介意多花一点时间。阅读答案后,听起来我应该将其存储在数据库中(我猜一个新表)。我应该将它存储为varchar吗?或者我应该只为错误记录创建一个SQLite数据库?
答案 0 :(得分:1)
这完全取决于您对结果的计划。如果您只是想在以后遇到问题,如果出现问题,文本文件可能会正常工作。但是,如果您希望能够轻松创建报告或根据特定日期/时间或某些内容搜索结果,则可能会使用小型SQL数据库。虽然我建议只使用SQLite,除非你每天要录制大量的邮件。
答案 1 :(得分:0)
如果您只是存储错误/成功消息,那么一个完整的关系数据库系统对我来说似乎有点过头了。
答案 2 :(得分:0)
如果您只是抓取错误/成功消息,只需将其存储到日志(文本)文件中即可。特别是如果脚本没有经常运行,并且您不需要在其他地方引用成功/错误消息。
答案 3 :(得分:0)
我会选择数据库。它不需要比文本文件更多的努力(事实上,可以显着减少),并且您获得了许多额外的功能。例如,拥有一个可以显示这些错误的页面会不会很好?也许有一些排序功能?前面的一点努力通常可以为您带来相当大的麻烦。
在任何现代网络应用程序中,您都应该避免在文本文件中存储任何内容。文本文件存储库几乎是单向的(即,很容易获取数据,但没有那么多来取回数据)除非你跳过一些箍来逃避消息,提供一致的分隔符等。没有充分的理由使用一个文本文件,正如我所说,它可以在以后咬你。
答案 4 :(得分:0)
除非您稍后有某种错误分析项目的宏伟计划,否则请使用文本文件。更少的失败点,更少的代码和更少的麻烦。
请记住,如果构建智能日志文件(文本)格式,您可以随时将其重新放回数据库中。
答案 5 :(得分:0)
我想说这取决于你想要对错误消息做什么。如果你只是想要快速和肮脏的东西,你可以用很少的努力进行编码,我会使用文本文件。
然而,迁移到数据库确实可以提供很多好处。您可以从中检索信息,并使用一点SQL以更好的方式显示它。但是我觉得这需要你做更多的编码和部署工作。
因此,如果你只是想存储错误,我说保留文本文件。如果你想要更高级的功能,我会花时间设置数据库。
答案 6 :(得分:0)
如果您正在构建一个将要抓取数十万个链接的蜘蛛,并且您想要跟踪下载尝试和/或每个已抓取网址的状态,我会创建一个表格,将网址映射到重试尝试和最后一次尝试的日期。我不会在数据库中存储错误消息,除非HTTP返回状态比表示成功的tinyint(1)
更有用。
如果你正在抓取一小部分网址,只需要额外的诊断,我可能会坚持使用文本文件。许多实用程序都可以轻松管理并自动丢弃文本错误日志。