久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

分布式爬蟲怎么處理Redis里的數據

196次閱讀
沒有評論

共計 2099 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要講解了“分布式爬蟲怎么處理 Redis 里的數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“分布式爬蟲怎么處理 Redis 里的數據”吧!

存入 MongoDB

1. 啟動 MongoDB 數據庫:sudo mongod

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

# process_youyuan_mongodb.py
# -*- coding: utf-8 -*-
import json
import redis
import pymongo
def 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  % item
if __name__ ==  __main__ :
 main()

存入 MySQL

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

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

3. 創建數據庫 youyuan:create database youyuan;

4. 切換到指定數據庫:use youyuan

5. 創建表 beijing_18_25 以及所有字段的列名和數據類型。

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

#process_youyuan_mysql.py
# -*- coding: utf-8 -*-
import json
import redis
import MySQLdb
def 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()

感謝各位的閱讀,以上就是“分布式爬蟲怎么處理 Redis 里的數據”的內容了,經過本文的學習后,相信大家對分布式爬蟲怎么處理 Redis 里的數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計2099字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 扎赉特旗| 封丘县| 隆化县| 赣州市| 西华县| 隆回县| 陕西省| 额尔古纳市| 象山县| 汉源县| 长岛县| 乡城县| 宁河县| 河东区| 永昌县| 河津市| 博兴县| 德令哈市| 海晏县| 义马市| 金山区| 富川| 虹口区| 健康| 富锦市| 苍梧县| 吴堡县| 通辽市| 三台县| 新兴县| 昌邑市| 海口市| 张家口市| 定陶县| 乐亭县| 浪卡子县| 武功县| 集安市| 昆明市| 台东县| 垦利县|