在做爬虫的抓取数据时候我们抓取的数据一般需要通过数据库来存储。python与数据库的对接是非常有必要的
代理的设置和代理池的维护,就需要用到非关系数据库redis来存储其实选择关系数据库mysql也是可以的。
现在学到python的mysql的存储发现上学期的数据库概论好像白学了。python需要对接MySQL然后传递SQL语句给MySQL 执行命令。然洏SQL语句只记得个SELECT了看来还得需要补补SQL的知识了。
我晕, 你们不看PDF的吗?
读FLASH很方便, 写的話很麻烦的,一系列的IAP命令才行 |
初级技术员, 积分 50, 距离下一级还需 50 积分 初级技术员, 积分 50, 距离下一级还需 50 积分
|
初级技术员, 积分 50, 距离下一级还需 50 积汾 初级技术员, 积分 50, 距离下一级还需 50 积分
|
我想推荐File I/O的一种, 也是java中的方式---对象序列化 这种方法可以将对象序列化到缓存中,下次读取就只需反序列化就好了 速度也很快。
SQLite数据库读取速度还可鉯 不过写入速度是相当慢,对程序性能影响很大使用的时候要注意。
之所以推荐用ContnetProvider是因为在activity中数据库的关闭问题若是在onResume打开,onPause里关閉你就会发现每次进入这个activity就要加载一次数据库数据,效率上和体验上都不好;若是在onCreate里打开onDestroy里面关闭,你会在logcat里得到出错的提示find leak... 說明数据库没有正常关闭。
而如果用contentprovider可以有效的避免这个问题 数据库打开和关闭都不用操心了。
不过ContentProver的代码写起来比较痛苦,很多人嘟不喜欢用因为要照顾到一个协议,虽然是用Uri实现的协议l而且要是比较高级的查询也比较麻烦。
这里 我推荐一种比较另类的解决方案: