以下操作是在window環境下進行的
pip install mysqlclient
2.新建pipelineitem 類class mysqlpipelineitem(object):
def __init__(self):
pass
def process_item(self,item,spider):
pass
def close_spider(self):
pass
3資料庫連線
匯入模組import mysqldb
資料庫連線
mysqldb.connect(*base,**kw)
base是乙個可變的列表(主要是資料庫的連線資訊),需要有序
kw 是可變引數的字典型別提供資料庫連線的額外資訊
self.__conn = mysqldb.connect(
'127.0.0.1'
,'root'
,'111111'
,'scrapy'
,'scrapy'
,'3306',**
)self.__cursor = self.__conn.cursor(
)#獲取cursor
執行sql語句# sql 中可以使用佔位符,佔位符內容的填充需要放在第二個引數 tuple_argument 中
self.__cursor.execute(sql,tuple_argument)
self.__conn.commit(
)
配置item_pipelines
在settings.py檔案下找到item_pipelines,新增自定義的pipeline
item_pipelines =
完整的**import mysqldb
class
mysqlpipelineitem
(object):
def__init__
(self)
: self.__conn = mysqldb.connect(
'127.0.0.1'
,'root'
,'root'
,'scrapy',**
) self.__cursor = self.__conn.cursor(
)def
process_item
(self,item,spider)
: sql =
'''insert into article(title,url, image_url,create_time,content) values (%s, %s, %s, %s, %s)
'''sql.__cursor.execute(sql,
(item[
'title'
],item[
'url'
],item[
'image_url'
],item[
'create_time'
],item[
'content'])
) self.__conn.commit(
)return item
defclose_spider
(self)
: self.__cursor.close(
) self.__conn.close(
)
出現過的問題:
typeerror: not all arguments converted during string formatting
就是sql語句的佔位符個數和實際提供引數值個數不同
把資料儲存到本地
student.h import inte ce student nsobject property nonatomic,copy nsstring name property nonatomic,copy nsstring property nonatomic,assign nsinteger a...
ADo資料儲存到LIST
事件呼叫listquerybyado方法 private void button2 click object sender,eventargs e 鏈結資料,獲取資料並將資料傳給converttomodel dt public listquerybyado string connstr,string...
python資料儲存到檔案
1 使用open與print進行資料儲存到檔案 filename列表形式檔名 def write file filename try for item name in filename out file open item name,w 寫模式開啟檔案,並賦值至檔案物件 data this is i...