数据爬下来了,需要存储起来,之前用过mysql,感觉关系型数据库不太适用于爬虫,所以这次选用nosql数据库 mongodb。
存入步骤
1. 将爬取到的用户信息转成key value模式,类如如下:
people = {'urlToken': urlToken}
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']# 他获得的赞同数
......
2. 连接mongodb
mongo_client = pymongo.MongoClient(mongo_host,mongo_port)
db = mongo_client['test1']
collection = db['zhihu_userinfo']
3.将数据插入数据库
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