为什么pyspider+mongodb只存了一部分数据到数据库,而其他大量数据并没有写入数据库!
2015-08-12 00:19
603 查看
什么也不说,先上图!
在pyspider,抓到的数据是这样的
而查看数据库却是这样!
去查看爬虫代码,debug一下,结果才发现原来是因为_id 的数据在网页没有显示出来,导致数据全部重复!
我只能说**网站这坑货!!哥,冒险不用代理爬的11万数据,你居然给我来这限制!
还好发现得早,不然等被你禁了ip才发现,那我去不是亏大发了
唉,总结一下,抚慰我受伤的心,希望不会有人犯和我一样的错误!
知识点:
mongodb数据库默认是通过 _id 来说写入的每个数据进行建立索引的,也就是说,通过
>db.person.update({'_id':id}, data, True)
或者
>db.person.insert(data)
这两种方式的话,只要_id是相同的,那么就不会写入数据库!!这就是哥我犯错的地方!
所以啊,在写入数据库的时候一定要找好唯一 的值赋给 _id,不行的话,_id 就不要赋值,数据库会默认加上的。
Game Over!
有时间再把自己摸索了一段时间的pyspider和mongodb以及rabbitmq的结果做个记录。。
在pyspider,抓到的数据是这样的
而查看数据库却是这样!
去查看爬虫代码,debug一下,结果才发现原来是因为_id 的数据在网页没有显示出来,导致数据全部重复!
我只能说**网站这坑货!!哥,冒险不用代理爬的11万数据,你居然给我来这限制!
还好发现得早,不然等被你禁了ip才发现,那我去不是亏大发了
唉,总结一下,抚慰我受伤的心,希望不会有人犯和我一样的错误!
知识点:
mongodb数据库默认是通过 _id 来说写入的每个数据进行建立索引的,也就是说,通过
>db.person.update({'_id':id}, data, True)
或者
>db.person.insert(data)
这两种方式的话,只要_id是相同的,那么就不会写入数据库!!这就是哥我犯错的地方!
所以啊,在写入数据库的时候一定要找好唯一 的值赋给 _id,不行的话,_id 就不要赋值,数据库会默认加上的。
Game Over!
有时间再把自己摸索了一段时间的pyspider和mongodb以及rabbitmq的结果做个记录。。
相关文章推荐
- Java中使用MongoDB进行增删改查
- 浅谈MongoDB
- 学习记录之mongodb
- mongodb 命令零散记录
- MongoDB源码概述——内存管理和存储引擎
- MongoDB save or update
- mongodb与sql聚合操作对应图
- mongoDB知识汇总
- mongodb连接不及时关闭的错误
- 【Mongodb】3.0 配置身份验证db.createUser()说明
- MongoDB安装及连接
- mongodb
- 使用Java 连接MongoDB3.X 3.04 带 auth 认证
- MongoDB数据类型
- MongoDB 3.X Crud 增删查改
- MongoDB与内存
- mongodb官网文档阅读笔记:write concern
- Mongodb-使用javaDriver 实现增删改查
- MongoDB CUD文档
- supervisor监控mongoDb