woaiyibao
woaiyibao
2019-04-08 16:26
采纳率: 64.3%
浏览 582

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条回答 默认 最新

  • qq_39412061
    吃鸡王者 2019-04-08 17:35
    已采纳

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

    点赞 2 评论
  • caozhy
     sql = """insert into ady(score,name,PIC) VALUES ('+aa+','+bb+','+cc+')"""
     ->
      sql = 'insert into ady(score,name,PIC) VALUES ('+aa+','+bb+','+cc+')'
    
    点赞 1 评论
  • interesting_star
    interesting_star 2019-04-08 16:52

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

    点赞 评论

相关推荐