Inhaltsverzeichnis
Erstellen Sie eine Speicherdatentabelle
Grundlegende Verwendung von Pymysql

mysql> select * from movieinfo;
+----------------+---------------------- ---------------------+------------+
|. Name                                                            ------------ --------+
|. Xu Zheng, Zhou Yiwei, Wang Chuanjun |. The Shawshank Redemption |                                               10 |
|. Viggo Mortensen, Mahershala Ali, Linda Cardellini |.                                2018-08-03 |
| Konkubine |. Leslie Cheung, Zhang Fengyi, Gong Li                                                                                                                                                                  , Justino Durano, Sergio Bini Busterik |. 03.01.2020 |
|. Dieser Killer ist nicht zu kalt | 01.09.2010 |
+----------------+-------------------------------- -------------------+--------------- ------+
10 Zeilen im Satz (0,01 Sek.)

Heim Backend-Entwicklung Python-Tutorial Wie verwende ich Python Pymysql zur Datenspeicherung?

Wie verwende ich Python Pymysql zur Datenspeicherung?

Apr 23, 2023 pm 08:34 PM
python pymysql

Python verbindet und betreibt die MySQL-Datenbank, hauptsächlich über das Pymysql-Modul. Hier erklären wir, wie Sie die erfassten Daten in einer MySQL-Datenbank speichern.

Erstellen Sie eine Speicherdatentabelle

Stellen Sie zunächst sicher, dass die MySQL-Datenbank auf Ihrem Computer installiert ist, und gehen Sie dann wie folgt vor:

# 1. 连接到mysql数据库
mysql -h227.0.0.1 -uroot -p123456
# 2. 建库
create database maoyandb charset utf8;
# 3. 切换数据库
use maoyandb;
# 4. 创建数据表
create table filmtab(
name varchar(100),
star varchar(400),
time varchar(30)
);

Grundlegende Verwendung von Pymysql

1) Stellen Sie eine Verbindung zur Datenbank her

db = pymysql.connect('localhost','root','123456','maoyandb')

Parameterbeschreibung:

  • localhost: Die lokale MySQL-Serveradresse oder die IP-Adresse der Remote-Datenbank.

  • root: der Benutzername, der für die Verbindung zu den Daten verwendet wird.

  • Passwort: Das Passwort, das zum Herstellen einer Verbindung zur Datenbank verwendet wird. Das lokale MySQL-Server-Passwort lautet „123456“.

  • db: Der Name der verbundenen Datenbank.

2) Cursorobjekt erstellen

cursor = db.cursor()

3) SQL-Befehl ausführen

execute()-Methode wird zum Ausführen von SQL-Anweisungen verwendet. Wie unten gezeigt:

#第一种方法:编写sql语句,使用占位符传入相应数据
sql = "insert into filmtab values('%s','%s','%s')" % ('刺杀,小说家','雷佳音','2021')
cursor.excute(sql)
第二种方法:编写sql语句,使用列表传参方式
sql = 'insert into filmtab values(%s,%s,%s)'
cursor.execute(sql,['刺杀,小说家','雷佳音','2021'])

4) Daten senden

db.commit()

5) Datenbank schließen

cursor.close()
db.close()

Der vollständige Code lautet wie folgt:

# -*-coding:utf-8-*-
import pymysql
#创建对象
db = pymysql.connect('localhost','root','123456','maoyandb')
cursor = db.cursor()
# sql语句执性,单行插入
info_list = ['刺杀,小说家','雷佳音,杨幂','2021-2-12']
sql = 'insert into movieinfo values(%s,%s,%s)'
#列表传参
cursor.execute(sql,info_list)
db.commit()
# 关闭
cursor.close()
db.close()

Fragen Sie die Datenergebnisse wie folgt ab:

mysql> select * from movieinfo;
+------------+-------------------+----------+
| |.                                                       |. Lei Jiayin, 1.2 2 |
+-------------+----------- -- -----+-----------+
1 Zeilen im Satz (0,01 Sek.)

Es gibt auch eine effizientere Methode, nämlich die Verwendung vonexecutemany() zum Einfügen mehrerer Datenelemente gleichzeitig. Ein Beispiel ist wie folgt:
db = pymysql.connect('localhost','root','123456','maoyandb',charset='utf8')
cursor = db.cursor()
# sql语句执性,列表元组
info_list = [('我不是药神','徐峥','2018-07-05'),('你好,李焕英','贾玲','2021-02-12')]
sql = 'insert into movieinfo values(%s,%s,%s)'
cursor.executemany(sql,info_list)
db.commit()
# 关闭
cursor.close()
db.close()

Fragen Sie die Einfügungsergebnisse wie folgt ab:

mysql> -- --------+----------------+
|. Name                                                                                                                   ----------------+- -----+

|. Ich bin nicht der Gott der Medizin | 12.02.2021 |
+-------------+-------------------+--- ----- ----+
2 Zeilen im Satz (0,01 Sek.)


Ändern Sie das Crawler-Programm

Ändern Sie nun das Crawler-Programm, um die erfassten Daten in der MySQL-Datenbank zu speichern. Wie unten gezeigt:

# coding=gbk
from urllib import request
import re
import time
import random
from ua_info import ua_list
import pymysql
class MaoyanSpider(object):
    def __init__(self):
        #初始化属性对象
        self.url = 'https://maoyan.com/board/4?offset={}'
        #数据库连接对象
        self.db = pymysql.connect(
            'localhost','root','123456','maoyandb',charset='utf8')
        #创建游标对象
        self.cursor = self.db.cursor()
    def get_html(self,url):
        headers = {'User-Agent':random.choice(ua_list)}
        req = request.Request(url=url,headers=headers)
        res = request.urlopen(req)
        html = res.read().decode()
        # 直接解析
        self.parse_html(html)
    def parse_html(self,html):
        re_bds = &#39;<div class="movie-item-info">.*?title="(.*?)".*?<p class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>&#39;
        pattern = re.compile(re_bds,re.S)
        r_list = pattern.findall(html)
        self.save_html(r_list)
    def save_html(self, r_list):
        L = []
        sql = &#39;insert into movieinfo values(%s,%s,%s)&#39;
        # 整理数据
        for r in r_list:
            t = (
                r[0].strip(),
                r[1].strip()[3:],
                r[2].strip()[5:15]
            )
            L.append(t)
            print(L)
        # 一次性插入多条数据 L:[(),(),()]
        try:
            self.cursor.executemany(sql,L)
            # 将数据提交数据库
            self.db.commit()
        except:
            # 发生错误则回滚
            self.db.rollback()
    def run(self):
        for offset in range(0,11,10):
            url = self.url.format(offset)
            self.get_html(url)
            time.sleep(random.uniform(1,3))
        # 断开游标与数据库连接
        self.cursor.close()
        self.db.close()
if __name__ == &#39;__main__&#39;:
    start=time.time()
    spider = MaoyanSpider()
    spider.run()
    end=time.time()
    print("执行时间:%.2f" % (end-start))
Die Datenbankabfrage speichert die Ergebnisse wie folgt:

mysql> select * from movieinfo;
+----------------+---------------------- ---------------------+------------+
|. Name                                                            ------------ --------+
|. Xu Zheng, Zhou Yiwei, Wang Chuanjun |. The Shawshank Redemption |                                               10 |
|. Viggo Mortensen, Mahershala Ali, Linda Cardellini |.                                2018-08-03 |
| Konkubine |. Leslie Cheung, Zhang Fengyi, Gong Li                                                                                                                                                                  , Justino Durano, Sergio Bini Busterik |. 03.01.2020 |
|. Dieser Killer ist nicht zu kalt | 01.09.2010 |
+----------------+-------------------------------- -------------------+--------------- ------+
10 Zeilen im Satz (0,01 Sek.)

Das obige ist der detaillierte Inhalt vonWie verwende ich Python Pymysql zur Datenspeicherung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So installieren Sie Pakete aus einer Anforderungen.txt -Datei in Python So installieren Sie Pakete aus einer Anforderungen.txt -Datei in Python Sep 18, 2025 am 04:24 AM

Führen Sie Pipinstall-Rrequirements.txt aus, um das Abhängigkeitspaket zu installieren. Es wird empfohlen, zunächst die virtuelle Umgebung zu erstellen und zu aktivieren, um Konflikte zu vermeiden, sicherzustellen, dass der Dateipfad korrekt ist und dass die PIP aktualisiert wurde, und Optionen wie-No-Deps oder -User, um das Installationsverhalten bei Bedarf anzupassen.

So testen Sie Python -Code mit PyTest So testen Sie Python -Code mit PyTest Sep 20, 2025 am 12:35 AM

Python ist ein einfaches und leistungsstarkes Testwerkzeug in Python. Nach der Installation werden Testdateien automatisch gemäß den Namensregeln ermittelt. Schreiben Sie eine Funktion, die mit Test_ für Assertionstests beginnt, verwenden Sie @PyTest.Fixure, um wiederverwendbare Testdaten zu erstellen, die Ausnahmen über pyTest.raises zu überprüfen, unterstützt die laufenden Tests und mehrere Befehlszeilenoptionen und verbessert die Testeneffizienz.

So behandeln Sie Befehlszeilenargumente in Python So behandeln Sie Befehlszeilenargumente in Python Sep 21, 2025 am 03:49 AM

TheArgParSemoduleiTherecommendedwaytoHandleCommand-Lineargumentesinpython, das Robustparsing, Typevalidation, Helpsages, AndersHandling berücksichtigt; usesys.argvForSimpecaseSeRequiringMinimalsetup.

Was ist BIP? Warum sind sie für die Zukunft von Bitcoin so wichtig? Was ist BIP? Warum sind sie für die Zukunft von Bitcoin so wichtig? Sep 24, 2025 pm 01:51 PM

Inhaltsverzeichnis Was ist Bitcoin Improvement Vorschlag (BIP)? Warum ist BIP so wichtig? Wie funktioniert der historische BIP -Prozess für Bitcoin Improvement Vorschlag (BIP)? Was ist ein BIP -Typ -Signal und wie sendet ein Bergmann es? Taproot und Cons of Quick Trial of BIP -Schlussfolgerung - seit 2011 wurden Verbesserungen an Bitcoin durch ein System namens Bitcoin Improvement Vorschlag oder „BIP“ vorgenommen. Bitcoin Improvement Vorschlag (BIP) enthält Richtlinien dafür, wie sich Bitcoin im Allgemeinen entwickeln kann. Es gibt drei mögliche BIP -Arten, von denen zwei mit den technologischen Veränderungen in Bitcoin zusammenhängen. Jede BIP beginnt mit informellen Diskussionen zwischen Bitcoin -Entwicklern, die sich überall versammeln können, einschließlich TWI

Von Anfängern bis zu Experten: 10 Must-Have-kostenlose öffentliche Datensatzwebsites Von Anfängern bis zu Experten: 10 Must-Have-kostenlose öffentliche Datensatzwebsites Sep 15, 2025 pm 03:51 PM

Für Anfänger in der Datenwissenschaft ist der Kern des Sprungs von "Unerfahrenheit" zum "Branchenexperten" eine kontinuierliche Praxis. Die Grundlage der Praxis sind die reichen und vielfältigen Datensätze. Glücklicherweise gibt es eine große Anzahl von Websites im Internet, die kostenlose öffentliche Datensätze anbieten, die wertvolle Ressourcen sind, um die Fähigkeiten zu verbessern und Ihre Fähigkeiten zu verbessern.

Wie können Sie einen Kontextmanager mit dem @ContextManager -Dekorateur in Python erstellen? Wie können Sie einen Kontextmanager mit dem @ContextManager -Dekorateur in Python erstellen? Sep 20, 2025 am 04:50 AM

Importieren Sie@contextManagerfromContextLibanddefinaGeneratorFunctionThatyieldSexactlyonce, whercodeBeforyieldactsasenterandCodeafteryield (vorzugsweise infinal) actsas __exit __. 2.UsetheFunctionInaThstatement, wherheided ValuesieScessable

Wie wähle ich einen Computer aus, der für die Big -Data -Analyse geeignet ist? Konfigurationshandbuch für High Performance Computing Wie wähle ich einen Computer aus, der für die Big -Data -Analyse geeignet ist? Konfigurationshandbuch für High Performance Computing Sep 15, 2025 pm 01:54 PM

Die Big-Data-Analyse muss sich auf Multi-Core-CPU, Speicher mit großer Kapazität und abgestufter Speicher konzentrieren. Multi-Core-Prozessoren wie Amdepyc oder Ryzenthreadripper werden unter Berücksichtigung der Anzahl der Kerne und einer Single-Core-Leistung bevorzugt. Der Speicher wird empfohlen, um mit 64 GB zu beginnen, und der ECC -Speicher wird bevorzugt, um die Datenintegrität zu gewährleisten. Der Speicher verwendet NVMESSD (System- und Heißdaten), Satassd (gemeinsame Daten) und HDD (Kaltdaten), um die Gesamtverarbeitungseffizienz zu verbessern.

So schreiben Sie Automatisierungsskripte für tägliche Aufgaben in Python So schreiben Sie Automatisierungsskripte für tägliche Aufgaben in Python Sep 21, 2025 am 04:45 AM

Identifizieren Sie die RepetivetaSksworthautomating, SuchasorganizingFileSendingemails, FocusingontonTheSethatoccurfRequent und Takesineficanttime

See all articles