Python Selenium列表到MySQL数据库表中

Python Selenium列表到MySQL数据库表中,python,mysql,database,selenium,selenium-chromedriver,Python,Mysql,Database,Selenium,Selenium Chromedriver,我已经编写了一些代码来从网站上抓取两条数据: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait import pandas as pd from numpy import nan import mysql.connector cnx = mysql.connector.connect(

我已经编写了一些代码来从网站上抓取两条数据:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import pandas as pd
from numpy import nan
import mysql.connector

cnx = mysql.connector.connect(user='root', password='*mypassword*',
                          host='127.0.0.1',
                          database='racing')
#cnx.close()
cursor = cnx.cursor()

driver = webdriver.Chrome("/anaconda3/chromedriver")
driver.get("https://www.racingpost.com/results/2018-03-20")

timeout=10

expand = driver.find_element_by_xpath('/html/body/div[3]/div[1]/main/div/div/div/div/a[2]').click()

#all race results
 races_element = driver.find_elements_by_class_name('rp-timeView__raceName')
 races = []
 for x in races_element:
     races.append(x.text)

time_element = driver.find_elements_by_class_name('rp-timeView__time')
times = []
for x in time_element:
        times.append(x.text)

for race, time in zip(races,times):
    print(race + ': ' + time)

cursor.executemany("INSERT INTO racecard (course) VALUES (%s)", races)

driver.quit()
代码正在成功地将页面上的所有结果打印为“coursename:time”,但我不确定如何获取该输出并将其输入到多行的单个表中,其中一列为“coursename”,第二列为“time”

我输入的光标行只是试图输入比赛列表,但没有起作用

有人能告诉我是否应该尝试将“比赛”和“时间”列表输出到数据库,或者通过打印的邮政编码对输出,在每种情况下,使用什么代码


谢谢

假设您的其余代码运行良好,您只需将获得的值更新到数据库中,您需要做的第一件事是在for循环之前创建一个表

cursor.execute("CREATE TABLE <table-name>(coursename varchar(255),time varchar(255));")
cursor.execute(“创建表(coursename-varchar(255),time-varchar(255));”)
一旦准备好表,就可以将值插入表中, 只需在正在打印值的for循环中添加一条INSERT语句即可

for race, time in zip(races,times):
    print(race + ': ' + time)   
    cursor.execute("INSERT INTO <table-name> VALUES(%s,%s);,(race,time)")
对于比赛,邮政编码时间(比赛,时间):
打印(比赛+':'+时间)
执行(“插入到值(%s,%s);,(比赛,时间)”)

谢谢您的帮助。表创建成功,但其余代码返回:ProgrammingError:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在“%s,%s)”附近使用的正确语法;,(比赛,时间)“”在第1行使用以下内容解决:对于比赛,zip中的时间(比赛,时间):打印(比赛+时间)光标。执行(““插入比赛卡(coursename,时间)值(%s,%s)”,(比赛,时间))cnx.commit()