日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

scrapy mysql测试连接_scrapy连接MySQL

發布時間:2024/9/27 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy mysql测试连接_scrapy连接MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Scrapy中連接MySQL所需要做的工作如下:

1.settings中需要設置的部分

#啟動管道組件

ITEM_PIPELINES ={‘QianChengWuYu.mongoDBPiplelines.MongoDBPipline‘: 300,

}

#mysql的連接參數

MYSQL_DB_NAME = ‘qianchengwuyu‘MYSQL_HOST= ‘localhost‘MYSQL_USER= ‘‘MYSQL_PASSWORD= ‘‘

(1)其中ITEM_PIPELINES中設置的是QianChengWuyu項目中的管道文件mongoDBPiplelines中的MongoDBPipline類,優先級是300

(2)其中MYSQL_DB_NAME 為mysql中的數據庫,MYSQL_HOST 為指定登錄的IP 這里是localhost;

以及MYSQL_USER 為數據庫用戶名,MYSQL_PASSWORD 為數據庫用戶密碼

2.scrapy中piplines文件如下:

1)正常插入,導入pymysql模塊

importpymysql

"""

這個類用于scrapy中數據向MYSQL數據庫中插入數據

"""classQianchengwuyuPipeline(object):defopen_spider(self, spider):

"""

該方法用于創建數據庫連接池對象并連接數據庫

"""

db= spider.settings.get(‘MYSQL_DB_NAME‘, ‘scrapy_default‘)

host= spider.settings.get(‘MYSQL_HOST‘, ‘localhost‘)

port= spider.settings.get(‘MYSQL_PORT‘, 3306)

user= spider.settings.get(‘MYSQL_USER‘, ‘root‘)

passwd= spider.settings.get(‘MYSQL_PASSWORD‘, ‘root‘)

self.db_conn= pymysql.connect(host=host, port=port, db=db, user=user, passwd=passwd, charset=‘utf8‘)

self.db_cur=self.db_conn.cursor()defclose_spider(self, spider):

"""

該方法用于數據插入以及關閉數據庫

"""

self.db_conn.commit()

self.db_conn.close()defprocess_item(self, item, spider):

self.insert_db(item)returnitemdefinsert_db(self, item):

"""

sql語句構造方法

"""

values=(

item[‘job‘],

item[‘company‘],

item[‘place‘],

item[‘salary‘]

)

sql= ‘INSERT INTO jobs(job,company,place,salary) VALUES(%s,%s,%s,%s)‘self.db_cur.execute(sql, values)

2)異步插入,使用twisted異步插入

"""這個類用于scrapy中數據向MYSQL數據庫中異步插入數據"""

from twisted.enterprise importadbapiclassMySQLsyncPipeline(object):defopen_spider(self, spider):"""該方法用于創建數據庫連接池對象并連接數據庫"""db= spider.settings.get(‘MYSQL_DB_NAME‘, ‘scrapy_default‘)

host= spider.settings.get(‘MYSQL_HOST‘, ‘localhost‘)

port= spider.settings.get(‘MYSQL_PORT‘, 3306)

user= spider.settings.get(‘MYSQL_USER‘, ‘root‘)

passwd= spider.settings.get(‘MYSQL_PASSWORD‘, ‘root‘)

self.dbpool= adbapi.ConnectionPool(‘pymysql‘, host=host, db=db, user=user, password=passwd, charset=‘utf8‘)defclose_spider(self, spider):"""該方法用于數據插入完成后關閉數據庫"""self.dbpool.close()defprocess_item(self, item, spider):"""插入數據庫方法"""self.dbpool.runInteraction(self.insert_db, item)returnitemdefinsert_db(self, tx, item):"""sql語句構造方法"""values=(

item[‘job‘],

item[‘company‘],

item[‘place‘],

item[‘salary‘]

)

sql= ‘INSERT INTO jobs(job, company, place,salary) VALUES(%s,%s,%s,%s)‘tx.execute(sql, values)

原文:https://www.cnblogs.com/llssx/p/9082276.html

總結

以上是生活随笔為你收集整理的scrapy mysql测试连接_scrapy连接MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。