# -*- coding:utf-8 -*- ''' 使用異步存儲的原因: 同步:寫入數據速度比較慢,而爬蟲速度比較快,可能導致數據最後寫入不到數據庫中 異步:是將爬蟲的數據先放入一個連接池中,再同時將連接池的數據寫入到數據庫中,這樣既可以 提高數據庫的寫入速度,同時也可以將爬取到的所有數據都寫入進數據庫,能保證數據的完整性 ''' ''' 異步寫入流程 1.引入twisted.enterprise.adbapi pymysql.cursors 2.在settings中配置數據庫連接參數 3.創建pipeline,實現from_settings函數,從settings獲取數據庫連接參數,根據參數創建連接池對象,返回當前pipeline的對象,並且把連接池賦值給該對象屬性 4.實現process_item函數,使用db_pool.runInteraction(函數,函數需要的參數) 將數據庫的處理操作放入連接池s,還需要將操作數據的函數實現,使用cursor執行sql 5.拿到runInteraction()函數返回的處理結果,添加錯誤回調函數,在函數中將錯誤原因打印 '''
基於python的-異步寫入mysql步驟
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.