cursor.execute报错,代码和老师的一样

来源:4-1 存储数据到MySQL

Mr_Blue_001

2017-03-20 16:11

MySQL版本5.7.17,Python版本3.6.0,鼓捣一下午都没弄出来

http://img.mukewang.com/58cf8dd50001ee1708910459.jpg

写回答 关注

4回答

  • 浓烈的咖啡
    2017-03-21 20:39:54
    已采纳
    import io
    import sys
    import re
    import pymysql.cursors
    from urllib.request import urlopen
    from bs4 import BeautifulSoup as bs
    
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')
    # 请求URL,并把结果用UTF-8编码
    resp = urlopen("https://en.wikipedia.org/wiki/Wiki").read().decode('utf-8')
    # 使用BeautifulSoup去解析
    soup = bs(resp, "html.parser")
    # 获取所有以/wiki/开头的a标签的href属性
    listurls = soup.find_all('a', href=re.compile("^/wiki/"))
    # 输出所有的词条对应的名称和URL
    for url in listurls:
        # 过滤以.jpg或.JPG结尾的URL
        if not re.search("\.(jpg|JPG)$", url["href"]):
            # 输出URL的文字对应的链接
            # string只能获取一个 get_text()获取标签下所有的文字
            print(url.get_text(),"<---->","https://en.wikipedia.org" + url["href"])
    
            # 获取数据库链接
            connection = pymysql.connect(host="localhost",user="root",password="123456",db="wikiurl",charset="utf8mb4")
    
            try:
                # 获取会话指针
                with connection.cursor() as cursor:
    
                    # 创建sql语句
                    sql = 'INSERT INTO `urls`(`urlname`,`urlhref`)VALUES(%s,%s)'
    
                    # 执行sql语句
                    cursor.execute(sql,(url.get_text(),"https://en.wikipedia.org" + url["href"]))
    
                    # 提交
                    connection.commit()
            finally:
                connection.close()


    Mr_Blu...

    知道了,我insert拼写错了,简直了!

    2017-03-23 12:52:36

    共 2 条回复 >

  • 慕粉1508327342
    2017-03-29 13:11:22

    是什么原因呢?我也出现了相同的问题~

    Mr_Blu... 回复兰陵萧萧笙

    这就不造了

    2017-05-27 14:05:11

    共 3 条回复 >

  • Mr_Blue_001
    2017-03-21 08:18:35
    # 引入开发包
    from urllib.request import urlopen
    from bs4 import BeautifulSoup as bs
    import re
    import pymysql.cursors
    
    # 请求URL,并把结果用UTF-8编码
    resp = urlopen("https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5").read().decode("utf-8")
    
    # 使用BeautifulSoup去解析
    soup = bs(resp, "html.parser")
    
    # 获取所有以/wiki/开头的a标签的href属性
    listUrls = soup.findAll("a", href=re.compile("^/wiki/"))
    
    # 输出所有的词条对应的名称和URL
    for url in listUrls:
        # 过滤以.jpg或.JPG结尾的URL
        if not re.search("\.(jpg|JPG)$", url["href"]):
            # 输出URL的文字对应的链接
            # string只能获取一个 get_text()获取标签下所有的文字
            print(url.get_text(), "<---->", "https://zh.wikipedia.org" + url["href"])
            # 获取数据库链接
            connection = pymysql.connect(host='localhost',
                                         user='root',
                                         password='root',
                                         db='wikiurl',
                                         charset='utf8mb4')
            try:
                # 获取会话指针
                with connection.cursor() as cursor:
                    # 创建sql语句
                    sql = "inset into `urls` (`urlname`, `urlhref`) values(%s, %s)"
    
                    # 执行sql语句
                    cursor.execute(sql, (url.get_text(), "https://zh.wikipedia.org" + url["href"]))
    
                    # 提交
                    connection.commit()
            finally:
                connection.close()


  • 浓烈的咖啡
    2017-03-20 22:07:01
    贴代码看看


    浓烈的咖啡 回复Mr_Blu...

    我代码贴出来了,你直接复制运行试试。数据库表重新按老师的方法建。

    2017-03-21 20:41:11

    共 4 条回复 >

python遇见数据采集

本教程让你初步掌握Python进行数据采集,创造属于你的价值

59669 学习 · 200 问题

查看课程

相似问题