您好,登錄后才能下訂單哦!
# 創(chuàng)建數(shù)據(jù)庫(kù)
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;
# 根據(jù)item創(chuàng)建數(shù)據(jù)表
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,
# 當(dāng)items.py模塊yield之后,默認(rèn)就是下載image_url的頁(yè)面
'XKD_Dribbble_Spider.pipelines.ImagePipeline': 1,
'XKD_Dribbble_Spider.pipelines.MysqlPipeline': 2,
}
process_item()
方法將item的字段讀取出來(lái),再提交到數(shù)據(jù)中表中; 最后運(yùn)行項(xiàng)目成功后,可以使用命令行工具查看數(shù)據(jù)是否插入成功;
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()
先創(chuàng)建數(shù)據(jù)庫(kù):
create database 數(shù)據(jù)庫(kù)名;
然后給用戶授權(quán):
grant all on 數(shù)據(jù)庫(kù)名.* to '用戶名'@'%' identified by '密碼';
記得刷新MySQL的系統(tǒng)權(quán)限相關(guān)表:
flush privileges;
在進(jìn)入創(chuàng)建好的數(shù)據(jù)庫(kù)根據(jù)item創(chuàng)建數(shù)據(jù)庫(kù)表:
create table item(字段);
首先登錄MySQL數(shù)據(jù)庫(kù),命令行:
mysql -u用戶名 -p密碼;
然后選擇我們創(chuàng)建的數(shù)據(jù)庫(kù),命令行:
use 數(shù)據(jù)庫(kù)名;
然后就可以查看數(shù)據(jù)庫(kù)表是否成功插入數(shù)據(jù),命令行:
select * from item;
;
當(dāng)數(shù)據(jù)庫(kù)表中數(shù)據(jù)很多的時(shí)候,我們可以在查詢語(yǔ)句末尾加入一個(gè)
\G
參數(shù),橫向的表結(jié)構(gòu)會(huì)轉(zhuǎn)為使用縱向表結(jié)構(gòu)輸出,利于閱讀;
參考: https://www.9xkd.com/user/plan-view.html?id=1693196261
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。