python爬虫爬都到的字符串写入mysql错误
for uri in urllist:
        headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36)"}
        response = requests.get(uri,headers=headers).text
        json_str = json.loads(response)
        aa=json_str['data'][0]['result'][0]['additional']
        bb=json_str['data'][0]['result'][0]['ename']
        cc=json_str['data'][0]['result'][0]['kg_pic_url']
        cursor = db.cursor()
        sql = """insert into ady(score,name,PIC) VALUES ('+aa+','+bb+','+cc+')"""
        cursor.execute(sql)
        db.commit()

写入到mysql里面 每一列都是 +aa+ +bb+ +cc+
但是爬到的aa等字符串是可以打印出来的

3个回答

应该用格式字符串的把,你试试行不行,
sql = "insert into ady(score,name,PIC) VALUES ('+%s+','+%s+','+%s+')" %(aa,bb,cc)

woaiyibao
woaiyibao 万分感谢 可以爬到mysql了
10 个月之前 回复
 sql = """insert into ady(score,name,PIC) VALUES ('+aa+','+bb+','+cc+')"""
 ->
  sql = 'insert into ady(score,name,PIC) VALUES ('+aa+','+bb+','+cc+')'
woaiyibao
woaiyibao 括号里的aa bb cc好像不能用单引号会提示出错, = =但是改成双引号不出错了但是在mysql还是传入的是+aa+ +bb+ +cc+,好晕鸭,外面的三引号好像没有影响
10 个月之前 回复

是不是特殊字符 如 单引号 在sql中的表现形式 与设想的不一致 导致 sql解析出现问题 不太会python 答错莫怪。

woaiyibao
woaiyibao 感觉是括号里的字符串的问题 = =想不通
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问