爬虫数据保存到MongoDB

打开MongoDB服务器

打开MongoDB服务器
sudo mongod

启动MongoDB客户端

#新开终端输入
mongo   #启动MongoDB客户端

exit/ctrl+c #退出客户端

查询数据库

show  dbs

使用数据库

use  数据库名字
#如果没有此数据库,需要创建数据库。
#方法:use 数据库名字  
#db.名字.insert({key:1})必须插入一个数据,认证一下,否则mongdb默认为空,不认识

查询集合

show  collections   #查询所有集合
use createCollection ('name')   #创建集合

查询所集合元素(文档)

db.colname.find()

pipelines

项目的管道文件,用来处理数据的(保存文档, 或者存入数据库)

from scrapy.conf import settings
import pymongo

class TencentPipeline(object):
    def __init__(self):
        # 获取setting主机名、端口号和数据库名
        host = settings['MONGODB_HOST']
        port = settings['MONGODB_PORT']
        dbname = settings['MONGODB_DBNAME']

        # pymongo.MongoClient(host, port) 创建MongoDB链接
        client = pymongo.MongoClient(host=host,port=port)

        # 指向指定的数据库
        mdb = client[dbname]
        # 获取数据库里存放数据的表名
        self.post = mdb[settings['MONGODB_DOCNAME']]


    def process_item(self, item, spider):
        data = dict(item)
        # 向指定的表里添加数据
        self.post.insert(data)
        return item

setting

项目的配置文件

BOT_NAME = 'tenxun'


SPIDER_MODULES = ['tenxun.spiders']
NEWSPIDER_MODULE = 'tenxun.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = 'tenxun (+http://www.yourdomain.com)'


# Obey robots.txt rules
ROBOTSTXT_OBEY = True

ITEM_PIPELINES = {
   # 'tenxun.pipelines.TenxunPipeline': 300,
   'tenxun.pipelines.TenxunPipeline': 300,
}


# 主机环回地址
MONGODB_HOST = '127.0.0.1'
# 端口号
MONGODB_PORT = 27017
# 设置数据库名称
MONGODB_DBNAME = 'centent'
# 存放本次数据表的名称
MONGODB_DOCNAME = 'centent_data'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风华浪浪

讨个老婆本呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值