报错如下:这里报错的意思的你的数据是个数组。
这里我附上我的源码
import requests
from lxml import etree
import pymysql
import re
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36"
}
conn=pymysql.connect(host="localhost",user="root",db="test",passwd="123456")
#定义游标
curser=conn.cursor()
url="https://web.phb123.com/city/renkou/city_243.html"
page_text=requests.get(url=url,headers=headers).text
#将文本文档转换成标准HTML文件
res1 = '<tr><td>(.*?)</td><td>.*?</td><td><font color=".*?">.*?</font><i class=".*?"></i></td><td>.*?</td></tr>'
res2 = '<tr><td>.*?</td><td>(.*?)</td><td><font color=".*?">.*?</font><i class=".*?"></i></td><td>.*?</td></tr>'
year=re.findall(res1,page_text)
people=re.findall(res2,page_text)
sql="insert into project(year,people) values ('" + year + "','" + people + "')"
print(sql)
print(sql)
curser.execute(sql)
conn.commit()
conn.close()
于是出现以上报错!
这里报错的意思的你的数据是个数组。
所以这里我怎么都插入不了数据库,为什么插入不进去,因为他我要取的数据是数组。
那在这里我们怎么解决呢?首先我们打开debug,看看你的数据他到底是什么类型的。
这里的people和year都是list,所以在这里我们想要插入数据库,必须把数据挨个取出。
看代码:
写个循环遍历一下,挨个取出来,再放入数据库搞定。