啟動mongodb資料庫:sudo mongod
執行下面程式:py2 process_youyuan_mongodb.py
# process_youyuan_mongodb.py
# -*- coding: utf-8 -*-
import json
import redis
import pymongo
defmain
():# 指定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,獲取鍵值
啟動mysql:mysql.server start(更平台不一樣)
登入到root使用者:mysql -uroot -p
建立資料庫youyuan:create database youyuan;
切換到指定資料庫:use youyuan
建立表beijing_18_25以及所有欄位的列名和資料型別。
執行下面程式:py2 process_youyuan_mysql.py
#process_youyuan_mysql.py
# -*- coding: utf-8 -*-
import json
import redis
import mysqldb
defmain
():# 指定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='******x', 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()
#關閉本次操作
爬蟲 分布式爬蟲
爬蟲的本質 很多搞爬蟲的總愛吹噓分布式爬蟲,彷彿只有分布式才有逼格,不是分布式簡直不配叫爬蟲,這是一種很膚淺的思想。分布式只是提高爬蟲功能和效率的乙個環節而已,它從來不是爬蟲的本質東西。爬蟲的本質是網路請求和資料處理,如何穩定地訪問網頁拿到資料,如何精準地提取出高質量的資料才是核心問題。分布式爬蟲只...
分布式爬蟲
乙個基於scrapy redis的分布式爬蟲模板,在scrapy redis自帶的example的基礎上進行修改,新增在實際爬取過程中大部分爬蟲可能用到的功能,使的構建分布式爬蟲更加的簡單。scrapy redis windows ubuntu sudo apt get install redis ...
分布式爬蟲
修改普通爬蟲專案為分布式爬蟲 1.主爬蟲檔案myspider.py 做如下修改,其他不做修改 import scrapy from items import myitem 匯入資料模型 from scrapy redis.spiders import redisspider 匯入scrapy red...