首页 > 解决方案 > 将数据上传到mysql数据库?

问题描述

我是编码世界的新手,也是 Python 的新手,并且有一个问题。我们(4 人一组)有一个学校项目,我负责制作一个模块。

我制作了一个 PDF 到文本模块,结果应该上传到数据库。如果我是对的,我正在使用与 MySQL 一起使用的 mariaDB。数据库部分是另一个团队成员的任务。所以这个人做了终点,我应该上传。

我正在使用库“Requests - HTTP”并制作了类似的东西。生病只是发送整个事情:

我遇到问题的实际事情以“有效负载”开始,以“打印(response.text.encode('utf8'))”结束

import pdftotext
import requests

url = "THE URL"


def main():
    with open("s2-ovenschotelauberginebloemkool-022020.pdf", "rb") as f:
        pdf = pdftotext.PDF(f)
    text = "\n\n".join(pdf)
    bevat = text.split("Dit recept bevat")[1].split("Ingrediënten")[0]
    try:
        bevat = prettify(bevat.split("persoon")[1])
    except IndexError:
        bevat = prettify(bevat.split("personen")[1])
    if "1 persoon" in text:
        aantal_personen = "1"
    else:
        aantal_personen = prettify(text.split(" personen")[0].split("bevat")[1])
    bereiding = prettify(text.split("Bereiding")[1].split("\n\x0c")[0])
    ingredienten = prettify(text.split("Ingrediënten")[1]).split("Bereiding")[0]
    stap = text.split("STAP ")[1].split("\n")[0]
    output = {
        "Preparation": bereiding,
        "Ingredients": ingredienten,
        "Text": bevat,
        "Step": int(stap),
        "Persons": int(aantal_personen),
    }
    payload = {
        'PDFPath': 'C:/asdfjkasldfjkl;',
        'CommunityID': 'CID123456789994',
        'Populairity': '000000000000000000000000000000',
        'Preparation': bereiding,
        'BannerImageID': 'BID123456789011',
        'Text': bevat,
        'ReadTime': '00:05:00',
        'AverageRanking': '000000000000000000000000000000',
        'Likes': '000000000000000000000000000000',
        'Title': 'Lekker Bloemkool soep met weinig calorieen',
        'Step': int(stap),
        'Persons': int(aantal_personen),
        'Ingredients': ingredienten
    }
    headers = {}

response = requests.request("POST", url, headers=headers, data = payload)

    print(response.text.encode('utf8'))
    for x in output.items():
        print(x)


def prettify(text):
    return " ".join(text.strip().replace("\n", " ").replace(r"\n", " ").split())


if __name__ == "__main__":
    main()

如果您对我的代码还有其他要说的,请执行。我当然想变得更好 :D

标签: pythonpython-requests-html

解决方案


推荐阅读