# 建立數據庫 create database item_database; set global validate_password_length = 1; set global validate_password_policy = 0; grant all on item_database.* to 'xkd'@'%' identified by '123456'; flush privileges; # 根據item建立數據表 create table item (title varchar(255) not null, image_url varchar(255) not null, date date not null, image_path varchar(255) not null, url varchar(255) not null, url_id char(50) not null primary key);
pip install mysqlclient
ITEM_PIPELINES = { # 'XKD_Dribbble_Spider.pipelines.XkdDribbbleSpiderPipeline': 300, # 當items.py模塊yield以後,默認就是下載image_url的頁面 'XKD_Dribbble_Spider.pipelines.ImagePipeline': 1, 'XKD_Dribbble_Spider.pipelines.MysqlPipeline': 2, }
process_item()
方法將item的字段讀取出來,再提交到數據中表中; 最後運行項目成功後,能夠使用命令行工具查看數據是否插入成功;class MysqlPipeline: def __init__(self): self.conn = MySQLdb.connect(host='localhost', user='xkd', password='123456', database='item_database', use_unicode=True, charset='utf8') self.cursor = self.conn.cursor() def process_item(self, item, spider): sql = 'insert into item(title, image_url, date, image_path, url, url_id)' \ 'values (%s, %s, %s, %s, %s, %s)' date = item['date'] self.cursor.execute(sql, args=(item['title'], item['image_url'], date.strftime('%y-%m-%d'), item['image_path'], item['url'], item['url_id'])) self.conn.commit() return item def spider_closed(self, spider): self.cursor.close() self.conn.close()
先建立數據庫:create database 數據庫名;
html
而後給用戶受權:grant all on 數據庫名.* to '用戶名'@'%' identified by '密碼';
mysql
記得刷新MySQL的系統權限相關表:flush privileges;
sql
在進入建立好的數據庫根據item建立數據庫表:create table item(字段);
數據庫
首先登陸MySQL數據庫,命令行:mysql -u用戶名 -p密碼;
ide
而後選擇咱們建立的數據庫,命令行:use 數據庫名;
工具
而後就能夠查看數據庫表是否成功插入數據,命令行:select * from item;
;url
當數據庫表中數據不少的時候,咱們能夠在查詢語句末尾加入一個\G
參數,橫向的表結構會轉爲使用縱向表結構輸出,利於閱讀;命令行
參考:https://www.9xkd.com/user/plan-view.html?id=1693196261code