python爬虫之MongoDB测试环境安装

 

.   下载

从http://www.mongodb.org/downloads地址中下载:mongodb-linux-x86_64-2.4.11.tar

安装

1>设置mongoDB目录
[root@vm13 home]#cd /home/apps      
附:centOS下创建目录命令  [root@vm13 home]#mkdir -p /home/apps

2>将文件mongodb-linux-x86_64-2.4.11.tar上传至/home/apps目录

3>解压缩文件
[root@vm13 apps]#tar xzf mongodb-linux-x86_64-2.4.11.tar
文件夹重命名
[root@vm13 apps]#mv mongodb-linux-x86_64-2.4.11 mongodb

4>创建目录与文件
[root@vm13 apps]# mkdir -p  mongodb/data/db
[root@vm13 apps]# mkdir -p  mongodb/logs
[root@vm13 apps]# touch  mongodb/logs/mongodb.logs

5>启动服务
[root@vm13 apps]#./mongodb/bin/mongod -dbpath=/home/apps/mongodb/data/db -logpath=/home/apps/mongodb/logs/mongodb.logs
all output going to: /home/apps/mongodb/logs/mongodb.logs

6>将mongoDB服务加入随机启动
[root@vm13 apps]#vi /etc/rc.local
使用vi编辑器打开配置文件,并在其中加入下面一行代码
[root@vm13 apps]#/home/apps/mongodb/bin/mongod --dbpath /home/apps/mongodb/data/db --port 27017 --logpath /home/apps/mongodb/logs/mongodb.logs --logappend


7>连接mongoDB(注意不要关闭之前的界面,需要重新打开一个窗口连接)
[root@vm13 apps]# ./home/apps/mongodb/bin/mongo DBName
MongoDB shell version: 2.4.11
connecting to: DBName
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user

出现以上界面表示连接成功。

三.  局域网连接mongoDB

按照上面的操作,mongoDB的在Linux下安装已完成,本地连接mongoDB也已成功。这时我们就要考虑到另外一个问题了,局域网如何来连接mongoDB呢?局域网中windows机器如何来连接Linux机器中的mongoDB呢?其实做法一样很简单:

[root@vm13 apps]#./mongodb/bin/mongo 192.168.5.100/DBName

不过此处就需要注意了,我们需要在centOS上打开mongoDB的端口号,接下来讲讲如何在centOS上打开指定端口。先来查看下此端口是否被占用:

[root@vm13 apps]#netstat -anp |grep 27017

如若此端口未使用,再来打开配置文件[root@vm13 apps]# vi  /etc/sysconfig/iptables,在该文件中添加如下内容:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
COMMIT

然后重启服务.

[root@vm13 apps]#service iptables restart

 

此时,你已可以开始通过局域网来访问centOS上部署的mongoDB.

在本地浏览器中输入http://192.168.5.100:27017/,若出现以下:

You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
表示连接成功。

四.  安装过程中遇到的问题

1. Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91

三、解决办法:执行以下语句

[root@vm13 mongodb]# ./bin/mongod -dbpath=data/db

 

2.重启防火墙时报错:

 

解决方法:在最后添加COMMIT.

 

 

五、    语法使用

client = pymongo.MongoClient("192.168.1.252",27017)

#content代表是ceshi这个数据库,没有就新建
content = client["ceshi"]

#wb_data变量的值content_links是在测试这个库里面的表名
wb_data = content["content_links"]

 

1、  写入数据库。

#data指的是爬虫程序已经生成的一个一个字典类型的数据

 

wb_data.insert_one(data)
2、  读取数据库。
wb_data.find是查找所有数据,这里面可以筛选,例如:查找name=张三
for data in wb_data.find({‘name’:’zhangsan’}):
     print(data)
例如二:查找年龄小于22岁:
for data in wb_data.find({‘age’:{‘$lt’:‘22’}}):
     print(data)
例如三:查找这个表的所有数据:
for data in wb_data.find():
     print(data)

 

$lt=小于

$lte=小于等于

$gt=大于

$gte=大于等于

$ne=不等于

原文地址:https://www.cnblogs.com/lei0213/p/7055163.html