您的位置:澳门皇冠金沙网站 > 办公软件 > 分布式爬虫处理Redis里的数据操作步骤

分布式爬虫处理Redis里的数据操作步骤

2020-05-06 08:09

2.执行下面程序:py2 process_youyuan_mongodb.py

admin 

创建后台管理员admin命令:

python manage.py createsuperuser

澳门皇冠金沙网站首页,创建超级用户后,登录admin发现我们定义的表并不在,我们需要对所创建的表(类)进行注册:

澳门皇冠金沙网站首页 1

 

# process_youyuan_mongodb.py# -*- coding: utf-8 -*-import jsonimport redisimport pymongodef main(): # 指定Redis数据库信息 rediscli = redis.StrictRedis(host='192.168.199.108', port=6379, db=0) # 指定MongoDB数据库信息 mongocli = pymongo.MongoClient(host='localhost', port=27017) # 创建数据库名 db = mongocli['youyuan'] # 创建表名 sheet = db['beijing_18_25'] while True: # FIFO模式为 blpop,LIFO模式为 brpop,获取键值 source, data = rediscli.blpop(["youyuan:items"]) item = json.loads(data) sheet.insert(item) try: print u"Processing: %(name)s %(link)s" % item except KeyError: print u"Error procesing: %r" % itemif __name__ == '__main__': main()

mysql

一、利用命令创建(在终端上执行)

1、首先创建一个project项目

djanjo—admin startproject project名字

2、创建app(首先必须利用cd切换到该project下面)

Python3 startapp APP名字

3、运行程序

python3 manage.py runserver 127.0.0.1:8009

二、利用pycharm进行快速创建

澳门皇冠金沙网站首页 2

三、各种配置

1、django默认你导入的驱动是MySQLdb,可是MySQLdb对于py3有很大问题,所以我们需要的驱动是PyMySQL

如下设置放置的与project同名的配置的 __init__.py文件中

澳门皇冠金沙网站首页 3

2、注册APP

澳门皇冠金沙网站首页 4

3、数据库配置

澳门皇冠金沙网站首页 5

DATABASES = {

    'default': {

    'ENGINE': 'django.db.backends.mysql',

    'NAME':'dbname',

    'USER': 'root',

    'PASSWORD': 'xxx',

    'HOST': '',

    'PORT': '',

    }

}

4、静态文件配置

有静态文件的情况下,我们需要再从新创建一个关于静态文件的文件夹,然后再在settings中匹配静态文件的路径

STATICFILES_DIRS = (

        os.path.join(BASE_DIR,'static'),

    )

 澳门皇冠金沙网站首页 6

四、创建数据库表

一、利用命令创建(在终端上执行)

python3 manage.py makemigrations

python3 manage.py migrate

二、在pycharm上创建

澳门皇冠金沙网站首页 7

进入以后输入(相当于省去了启动步骤----python manage.py)

makemigrations

migrate

6.执行下面程序:py2 process_youyuan_mysql.py

在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识

1.启动mysql:mysql.server start

#process_youyuan_mysql.py# -*- coding: utf-8 -*-import jsonimport redisimport MySQLdbdef main(): # 指定redis数据库信息 rediscli = redis.StrictRedis(host='192.168.199.108', port = 6379, db = 0) # 指定mysql数据库 mysqlcli = MySQLdb.connect(host='127.0.0.1', user='power', passwd='xxxxxxx', db = 'youyuan', port=3306, use_unicode=True) while True: # FIFO模式为 blpop,LIFO模式为 brpop,获取键值 source, data = rediscli.blpop(["youyuan:items"]) item = json.loads(data) try: # 使用cursor()方法获取操作游标 cur = mysqlcli.cursor() # 使用execute方法执行SQL INSERT语句 cur.execute("INSERT INTO beijing_18_25 (username, crawled, age, spider, header_url, source, pic_urls, monologue, source_url) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s )", [item['username'], item['crawled'], item['age'], item['spider'], item['header_url'], item['source'], item['pic_urls'], item['monologue'], item['source_url']]) # 提交sql事务 mysqlcli.commit() #关闭本次操作 cur.close() print "inserted %s" % item['source_url'] except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1])if __name__ == '__main__': main()

存入 MySQL

3.创建数据库youyuan:create database youyuan;

本文由澳门皇冠金沙网站发布于办公软件,转载请注明出处:分布式爬虫处理Redis里的数据操作步骤

关键词: