您好,登錄后才能下訂單哦!
# 創建數據庫
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 數據庫名;
然后給用戶授權:
grant all on 數據庫名.* to '用戶名'@'%' identified by '密碼';
記得刷新MySQL的系統權限相關表:
flush privileges;
在進入創建好的數據庫根據item創建數據庫表:
create table item(字段);
首先登錄MySQL數據庫,命令行:
mysql -u用戶名 -p密碼;
然后選擇我們創建的數據庫,命令行:
use 數據庫名;
然后就可以查看數據庫表是否成功插入數據,命令行:
select * from item;
;
當數據庫表中數據很多的時候,我們可以在查詢語句末尾加入一個
\G
參數,橫向的表結構會轉為使用縱向表結構輸出,利于閱讀;
參考: https://www.9xkd.com/user/plan-view.html?id=1693196261
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。