巧白 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日

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况