知乎爬虫相关问题存到mongoDB中
2017-09-15 15:43
344 查看
http://blog.csdn.net/lxb1022/article/details/75258021
按照这个博主的文章成功爬取到了知乎的内容,只是中间有两处改动。
1.输入验证码的地方raw_input改为了input
我们来看input的源码
so,input等价于eval(raw_input(prompt))
其实input也是调用了raw_input,只是做了eval处理,而eval有什么作用呢?
eval函数是将字符串str当成有效Python表达式来求值,并返回计算结果。
input:会根据用户的输入来做类型的转换
raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串。
input和raw_input的区别:http://blog.csdn.net/dq_dm/article/details/45665069
python3中已经没有raw_input我用的python3,所以换成input没有问题
2.在第三篇结束要注意pipeline.py中的注释
按照这个博主的文章成功爬取到了知乎的内容,只是中间有两处改动。
1.输入验证码的地方raw_input改为了input
我们来看input的源码
def input(prompt): return eval(raw_input(prompt))
so,input等价于eval(raw_input(prompt))
其实input也是调用了raw_input,只是做了eval处理,而eval有什么作用呢?
eval函数是将字符串str当成有效Python表达式来求值,并返回计算结果。
input:会根据用户的输入来做类型的转换
raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串。
input和raw_input的区别:http://blog.csdn.net/dq_dm/article/details/45665069
python3中已经没有raw_input我用的python3,所以换成input没有问题
2.在第三篇结束要注意pipeline.py中的注释
# Define your item pipelines here # # Don't forget to add your pipeline to the ITEM_PIPELINES setting # See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html[/code]
Don’t forget to add your pipeline to the ITEM_PIPELINES setting
在setting.py中设置ITEM_PIPELINES:
这个settings是为了激活pipeline组件,整数值决定了他们运行的顺序,具体看注释中提供的文档地址。ITEM_PIPELINES = { 'zhihu.pipelines.ZhihuPipeline': 300, }
这样才能运行正确,让爬下来的数据存储到excel中。
表示自己后来又找方法存到了mongoDB中:便于数据的使用。修改了pipeline如下class MongoPipeline(object): collection_name='test' def __init__(self,mongo_uri,mongo_db): self.mongo_uri=mongo_uri self.mongo_db=mongo_db @classmethod def from_crawler(cls,crawler): return cls( mongo_uri=crawler.settings.get('MONGO_URI'), mongo 4000 _db=crawler.settings.get('MONGO_DATABASE') ) def open_spider(self,spider): self.client=pymongo.MongoClient(self.mongo_uri) self.db=self.client[self.mongo_db] def close_spider(self,spider): self.client.close() def process_item(self,item,spider): self.db[self.collection_name].insert_one(dict(item)) return item
并在settings.py中设置ITEM_PIPELINES = { 'zhihu.pipelines.MongoPipeline':300, }
相关文章推荐
- python爬虫:代理及相关注意问题
- 爬虫技术相关技术文章及问题解决方法
- 如何利用已有的cook模拟登陆知乎,并爬取相关问题下所有的答案
- 如何看待代码中滥用HashMap?-知乎问题读后感和相关研究
- mongodb之副本集相关问题!
- 爬虫技术要点(一)Post相关问题
- 【Python3.6爬虫学习记录】(七)使用Selenium+ChromeDriver爬取知乎某问题的回答
- python爬虫——爬取知乎上自己关注的问题
- 爬虫的相关问题
- 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)
- python爬虫——爬取知乎上自己关注的问题
- 【python爬虫】爬取知乎收藏夹内所有问题名称地址保存至Mysql
- python爬虫——安装mongodb时遇到的问题
- 知乎精选:阿里云相关问题
- 我对知乎前端相关问题的十问十答
- 【爬虫问题】爬取tv.sohu.com的页面, 提取视频相关信息
- 使用最广泛的Android爬虫指示器PagerSlidingTabStrip遇到的相关问题的解决,并源码修改
- 【转载】张鑫旭对知乎前端相关问题的十问十答
- 运维学python之爬虫高级篇(七)scrapy爬取知乎关注用户存入mongodb
- 爬虫之爬取知乎下某个问题下的全部图片(处理AJAX请求,解析json数据)