分布式爬虫爬取知乎用户—存储篇
数据爬下来了,需要存储起来,之前用过mysql,感觉关系型数据库不太适用于爬虫,所以这次选用nosql数据库 mongodb。
存入步骤
1.将爬取到的用户信息转成key value模式,类如如下:
people = {'urlToken': urlToken}2.连接mongodb
people['educations'] ='&&'.join(map((lambda x:'%s%s%s' % (
(x['school']['name']if x.has_key('school')else ''), (',' if x.has_key('school')and x.has_key('major')else ''),
(x['major']['name']if x.has_key('major')else ''))), data['educations'])).strip().replace("'","\\'")
people['followingCount'] = data['followingCount']# 他关注的人数
people['pinsCount'] = data['pinsCount']# 他的分享数
people['favoriteCount'] = data['favoriteCount']# 他的收藏数
people['voteupCount'] = data['voteupCount']# 他获得的赞同数
......
mongo_client = pymongo.MongoClient(mongo_host,mongo_port)3.将数据插入数据库
db = mongo_client['test1']
collection = db['zhihu_userinfo']
result = collection.insert(people)注意:主服务器需要将mongodb的远程访问打开
具体步骤:
1.打开配置文件 mongod.conf
2.找到bindIp: 127.0.0.1 将其修改为bindIp: 0.0.0.0
3.使用配置文件启动mongodb
【分布式爬虫爬取知乎用户—存储篇】mongod --config /usr/local/etc/mongod.conf
推荐阅读
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 使用协程爬取网页,计算网页数据大小
- 爬虫数据处理HTML转义字符
- 深入浅出谈一下有关分布式消息技术(Kafka)
- 2018-12-05爬虫
- Python实战计划学习笔记(9)为大规模爬取准备
- KubeDL HostNetwork(加速分布式训练通信效率)
- Python爬虫技术要学到什么程度才可以找到工作()
- python|python 爬虫抓取图片
- 实操Redission|实操Redission 分布式服务