最近做爬蟲時(shí)留美,把所爬數(shù)據(jù)存進(jìn)數(shù)據(jù)庫時(shí)遇到了點(diǎn)問題:
sql="insert into allnetdata(personame, project,times)values(urlist[i][0],urlist[i][3],urlist[i][2])"
? ? ? ?沒有報(bào)錯(cuò)但就是存不到allnetdata表中彰檬,首先排除了是與數(shù)據(jù)庫的連接問題,思考了一下谎砾,認(rèn)為是二維列表urlist[i][0] 取出來的數(shù)據(jù)不是字符串格式逢倍,與allnetdata表的列屬性沖突導(dǎo)致無法寫入,于是改用str(urlist[i][0])來強(qiáng)制轉(zhuǎn)換其格式景图,運(yùn)行程序還是不行较雕。用print.type(urlist[i][0])輸出其格式,為string挚币,說明與格式無關(guān)亮蒋,此路不通。
????????在查詢各種文檔無果后妆毕,想到可能是values()對(duì)寫入值為變量可能有格式要求慎玖,百度之后得到答案:values后面的值為變量時(shí),應(yīng)為:
values(' "+urlist[i][0]+" ',' "+urlist[i][3]+" ',' "+urlist[i][2]+" ')笛粘,
問題解決.