欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟

 更新時間:2018年03月18日 17:37:19   作者:py哥  
這篇文章主要介紹了分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟,數(shù)據(jù)分別存入mongodb和mysql數(shù)據(jù)庫,具體內(nèi)容詳情及實例代碼大家參考下本文

存入MongoDB

1.啟動MongoDB數(shù)據(jù)庫:sudo mongod

2.執(zhí)行下面程序:py2 process_youyuan_mongodb.py

# process_youyuan_mongodb.py
# -*- coding: utf-8 -*-
import json
import redis
import pymongo
def main():
 # 指定Redis數(shù)據(jù)庫信息
 rediscli = redis.StrictRedis(host='192.168.199.108', port=6379, db=0)
 # 指定MongoDB數(shù)據(jù)庫信息
 mongocli = pymongo.MongoClient(host='localhost', port=27017)
 # 創(chuàng)建數(shù)據(jù)庫名
 db = mongocli['youyuan']
 # 創(chuàng)建表名
 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" % item
if __name__ == '__main__':
 main()

存入 MySQL

1.啟動mysql:mysql.server start(更平臺不一樣)

2.登錄到root用戶:mysql -uroot -p

3.創(chuàng)建數(shù)據(jù)庫youyuan:create database youyuan;

4.切換到指定數(shù)據(jù)庫:use youyuan

5.創(chuàng)建表beijing_18_25以及所有字段的列名和數(shù)據(jù)類型。

6.執(zhí)行下面程序:py2 process_youyuan_mysql.py

#process_youyuan_mysql.py
# -*- coding: utf-8 -*-
import json
import redis
import MySQLdb
def main():
 # 指定redis數(shù)據(jù)庫信息
 rediscli = redis.StrictRedis(host='192.168.199.108', port = 6379, db = 0)
 # 指定mysql數(shù)據(jù)庫
 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()方法獲取操作游標(biāo)
  cur = mysqlcli.cursor()
  # 使用execute方法執(zhí)行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事務(wù)
  mysqlcli.commit()
  #關(guān)閉本次操作
  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()

總結(jié)

以上所述是小編給大家介紹的分布式爬蟲處理Redis里的數(shù)據(jù)操作步驟,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

相關(guān)文章

  • 淺談Redis 緩存的三大問題及其解決方案

    淺談Redis 緩存的三大問題及其解決方案

    Redis 經(jīng)常用于系統(tǒng)中的緩存,這樣可以解決目前 IO 設(shè)備無法滿足互聯(lián)網(wǎng)應(yīng)用海量的讀寫請求的問題。本文主要介紹了淺談Redis 緩存的三大問題及其解決方案,感興趣的可以了解一下
    2021-07-07
  • redis主從復(fù)制原理的深入講解

    redis主從復(fù)制原理的深入講解

    這篇文章主要給大家介紹了關(guān)于redis主從復(fù)制原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • antd為Tree組件標(biāo)題附加操作按鈕功能

    antd為Tree組件標(biāo)題附加操作按鈕功能

    這篇文章主要介紹了antd為Tree組件標(biāo)題附加操作按鈕功能,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 基于Redis實現(xiàn)基本搶紅包算法詳解

    基于Redis實現(xiàn)基本搶紅包算法詳解

    [key, value]的緩存數(shù)據(jù)庫, Redis官方性能描述非常高, 所以面對高并發(fā)場景, 使用Redis來克服高并發(fā)壓力是一個不錯的手段, 本文主要基于Redis來實現(xiàn)基本的搶紅包系統(tǒng)設(shè)計,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Redis并發(fā)問題解決方案

    Redis并發(fā)問題解決方案

    在當(dāng)前的互聯(lián)網(wǎng)環(huán)境中,高并發(fā)業(yè)務(wù)場景十分常見,本文就來介紹一下Redis并發(fā)問題解決方案,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Redis妙用之存儲用戶token問題

    Redis妙用之存儲用戶token問題

    這篇文章主要介紹了Redis妙用之存儲用戶token問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring+Redis+RabbitMQ開發(fā)限流和秒殺項目功能

    Spring+Redis+RabbitMQ開發(fā)限流和秒殺項目功能

    本項目將通過整合Springboot和Redis以及Lua腳本來實現(xiàn)限流和秒殺的效果,將通過RabbitMQ消息隊列來實現(xiàn)異步保存秒殺結(jié)果的效果,對Spring?Redis?RabbitMQ限流秒殺功能實現(xiàn)感興趣的朋友一起看看吧
    2022-02-02
  • 使用Spring?Boot實現(xiàn)Redis鍵過期回調(diào)功能示例詳解

    使用Spring?Boot實現(xiàn)Redis鍵過期回調(diào)功能示例詳解

    這篇文章主要介紹了使用Spring?Boot實現(xiàn)Redis鍵過期回調(diào)功能,就是一個實現(xiàn)Redis鍵過期回調(diào)功能的Spring?Boot應(yīng)用的示例,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • redis中的事務(wù)操作案例分析

    redis中的事務(wù)操作案例分析

    這篇文章主要介紹了redis中的事務(wù)操作案例,結(jié)合具體實例形式詳細(xì)分析了redis事務(wù)操作的概念、原理、使用技巧與相關(guān)注意事項,需要的朋友可以參考下
    2019-07-07
  • 使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動態(tài)泛型傳參的問題

    使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動態(tài)泛型傳參的問題

    這篇文章主要介紹了使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動態(tài)泛型傳參的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論