为什么pyspider+mongodb只存了一部分数据到数据库,而其他大量数据并没有写入数据库!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myfancysky/article/details/47431309


什么也不说,先上图!


在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的结果做个记录。。


展开阅读全文

没有更多推荐了,返回首页