巧白 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 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码