巧白 2022-06-02 13:59 采纳率: 50%
浏览 74
已结题

爬取html入mysql插入失败

插入数据失败不知道哪出了问题

#!/usr/bin/python3
import requests
from bs4 import BeautifulSoup
import re
import pymysql

def create():
  db = pymysql.connect(host='127.0.0.1',  # 本地数据库
                     user='root',
                     password='1234',
                     db='123',
                     charset='utf8'
                     )  # 连接数据库
  cursor = db.cursor()
  cursor.execute("DROP TABLE IF EXISTS FUN_TEST")

  sql = """CREATE TABLE FUN_TEST (
        ID INT PRIMARY KEY AUTO_INCREMENT,
        NAME CHAR(20) NOT NULL,
        KC_NAME VARCHAR(20) NOT NULL,
        SCORE DECIMAL(4,1))"""

cursor.execute(sql)

db.close()
def insert(value):
    db = pymysql.connect(host='127.0.0.1',  # 本地数据库
                     user='root',
                     password='1234',
                     db='123',
                     charset='utf8'
                     )

    cursor = db.cursor()
    sql = "INSERT INTO FUN_TEST(NAME, KC_NAME, SCORE) " \
      "VALUES (%s, %s, %d)"
    try:
    cursor.execute(sql, value)
    db.commit()
    print('插入数据成功')
except:
    db.rollback()
    print("插入数据失败")
db.close()

create() # 创建表

re匹配需要的数据

pertern = re.compile(r'<td>(.*?)</td>', re.S)
url = 'http://localhost:8080/webapp/'
res = requests.get(url)
res.encoding = 'utf-8'
print(res.status_code)
soup = BeautifulSoup(res.text, 'html.parser')
data = soup.find_all('body')
print(data)
data = str(data)
item = re.findall(pertern, data)
print(item)
for i in item:
    print(i)
    insert(i)

F:\python\venv\Scripts\python.exe F:/python/523.py
200
[

学生javahtmlmysql
张三704060
李四905070
王五506080
周六607090
] ['学生', 'java', 'html', 'mysql', '张三', '70', '40', '60', '李四', '90', '50', '70', '王五', '50', '60', '80', '周六', '60', '70', '90'] 学生 插入数据失败 java 插入数据失败 html 插入数据失败 mysql 插入数据失败 张三 插入数据失败 70 插入数据失败 40 插入数据失败 60 插入数据失败 李四 插入数据失败 90 插入数据失败 50 插入数据失败 70 插入数据失败 王五 插入数据失败 50 插入数据失败 60 插入数据失败 80 插入数据失败 周六 插入数据失败 60 插入数据失败 70 插入数据失败 90 插入数据失败

进程已结束,退出代码0

我是学生一枚,不知道怎么解决,麻烦大家看看
html页面自己写的简单页面
希望能到数据库看到跟html页面那种效果

  • 写回答

2条回答 默认 最新

  • zpeien Android领域新星创作者 2022-06-02 14:54
    关注

    你的插入的value值和数据库表的数据格式不一致吧,你的value好像有好几个值,但是插入的数据库对应的只有三个。格式不对,所有插入数据不行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 bat批处理,关于数据复制问题
  • ¥50 同步两个不同结果的array中某些属性
  • ¥15 悬赏15远程操控解决问题
  • ¥15 CST复制的模型无法单独修改参数?
  • ¥15 前端页面想做个定时任务,但是使用requestAnimationFrame,setinterval和settimeout都不行
  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)