我是编码的初学者,如果我犯了任何错误,我深表歉意。我在网上抓取了一个网站并从中得到了一个表格列表。我正在尝试使用 for 循环将该数据插入到 sqlite 3 中,但返回时出现错误。
import requests
from bs4 import BeautifulSoup
import json
##from tkinter import *
##bobert=Tk()
##bobert.geometry("600x600")
import sqlite3
##cursor.execute("CREATE TABLE IF NOT EXISTS covid (name STRING, passward STRING, score INTEGER)")
connection = sqlite3.connect('covidproject.db')
cursor = connection.cursor()
##cursor.execute("DROP TABLE IF EXISTS covid ")
##cursor.execute("CREATE TABLE IF NOT EXISTS covid (name STRING, confirmed REAL, changes_today REAL,deceased REAL,active REAL, recovered REAL)")
url = 'https://ncov2019.live/'
headers = {'User-Agent':'Mozilla/5.0'}
response = requests.get(url, headers = headers)
response.status_code
soup = BeautifulSoup(response.content,'html.parser')
stat_table = soup.find_all("table", attrs={"class": "display responsive"})
headers = [header.get_text(strip=True) for header in soup.find_all("th")]
rows = [dict(zip(headers, [td.get_text(strip=True) for td in row.find_all("td")]))
for row in soup.find_all("tr")[1:-1]]
for i,x in enumerate(rows,9):
cursor.execute("INSERT INTO covid VALUES('"+rows[i]['Name']+"','"+rows[i]['Confirmed']+"','"+rows[i]['Changes Today']+"','"+rows[i]['Deceased']+"','"+rows[i]['Active']+"','"+rows[i]['Recovered']+"')")
connection.commit()
##print (json.dumps(rows[9], indent=2))
##row2=rows[9]
##print (rows[9]['Name'])
##print (rows[9])
这是错误:
Traceback (most recent call last):
File "C:\Users\minio\Downloads\sqlite-tools-win32-x86-3310100\sqlite-tools-win32-x86-3310100\webscraping3.py", line 31, in <module>
cursor.execute("INSERT INTO covid VALUES('"+rows[i]['Name']+"','"+rows[i]['Confirmed']+"','"+rows[i]['Changes Today']+"','"+rows[i]['Deceased']+"','"+rows[i]['Active']+"','"+rows[i]['Recovered']+"')")
KeyError: 'Name'
守着星空守着你
相关分类