Python 网络爬虫报错求救

这是报错

(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABSE IF NOT EXISTS gaokao DEFAULT CHARSET utf8 COLLATE utf8_general_ci' at line 1")
connectDatabse failed
(1049, "Unknown database 'gaokao'")
connectDatabase failed
(1046, 'No database selected')
execute failed:drop table if EXISTS ranker
(1049, "Unknown database 'gaokao'")
connectDatabase failed
(1046, 'No database selected')
execute failed:create table if not EXISTS ranker(id int(11) NOT NULL AUTO_INCREATE,rank char(8) NOT NULL,name char(50) NOT NULL,score char(200) NOT NULL,rankstar char(200) NOT NULL,level char(200) NOT NULL,PRIMARY KEY (id)
(1049, "Unknown database 'gaokao'")
connectDatabase failed

这是源代码

from bs4 import BeautifulSoup
import requests
from fake_useragent import UserAgent
import Tmysql

ua=UserAgent()
user_agent=ua.random

def request_gaosan(url):
    headers={
        'user-agent':user_agent
    }
    try:
        response=requests.get(url,headers=headers)
        if response.status_code==200:
            return response.text
    except requests.RequestException:
        return None
n=1

def getResult(soup):
    html=soup.find(class_='firstRow').find_all('td')

    result=[]
    for item in html:
        item_rank=item.find('td').string
        item_name=item.find('td').string
        item_score=item.find('td').string
        item_rankstar=item.find('td').string
        item_level=item.find('td').string
        result.append(item)
    return result

def onePage(page):
    url="http://www.gaosan.com/gaokao/265440.html"
    html=request_gaosan(url)
    soup=BeautifulSoup(html,'lxml')
    result=getResult(soup)
    return result

def allPage():
    result=[]
    return result

def saveToMysql(result):
    dbhelper=Tmysql.DBHelper()
    sql = """drop table if EXISTS ranker"""
    dbhelper.execute(sql, None)
    sql = """create table if not EXISTS ranker(id int(11) NOT NULL AUTO_INCREATE,rank char(8) NOT NULL,name char(50) NOT NULL,score char(200) NOT NULL,rankstar char(200) NOT NULL,level char(200) NOT NULL,PRIMARY KEY (id)"""
    dbhelper.execute(sql, None)
    sql = """INSERT INTO ranker(ranking,name,city)VALUES(%s,%s,%s,%s,%s)"""
    dbhelper.executemany(sql, result)
if __name__ == '__main__':
    result=allPage()
    saveToMysql(result)



---------------------------------------------------------------------------
import pymysql
class DBHelper:
    #構造函數
    def __init__(self,host='localhost',user='root',password='',port=3306,db='gaokao'):
        self.host=host
        self.user=user
        self.password=password
        self.port=port
        self.db=db
        self.conn=None
        self.cur=None
        self.createDatabase()#創建名爲Gaokao的數據庫

    #創建數據庫1
    def createDatabase(self):
        try:
            self.conn=pymysql.connect(host=self.host,user=self.user,password=self.password,port=self.port,)
            self.cur=self.conn.cursor()
            sql="drop database if exists Gaokao"
            self.cur.execute(sql)
            create_database_sql='CREATE DATABSE IF NOT EXISTS gaokao DEFAULT CHARSET utf8 COLLATE utf8_general_ci;'
            self.cur.execute(create_database_sql)
        except Exception as e:
            print(e)
            print("connectDatabse failed")
            return False
        return True

    #连接数据库
    def connectDatabase(self):
        try:
            self.coon = pymysql.connect(host=self.host, user=self.user, password=self.password, port=self.port,
                                        db=self.db, charset='utf8')
        except Exception as e:
            print(e)
            print("connectDatabase failed")
            return False
        self.cur = self.conn.cursor()
        return True

     #关闭数据库
    def __del__(self):
        #如果数据打开,则关闭;否则没有操作
        if self.conn and self.cur:
            self.cur.close()
            self.conn.close()
        #print("关闭")
        return True

    #执行数据库的sql语句,用来插入多条数据操作
    def executemany(self,sql,params=None):
        #连接数据库
        self.connectDatabase()
        try:
            if self.conn and self.cur:
                self.cur.executemany(sql,params)
                self.conn.commit()
        except Exception as e:
            print(e)
            print("execute failed:"+sql)
            return False
        return True

    def execute(self, sql, params=None):
        # 连接数据库
        self.connectDatabase()
        try:
            if self.conn and self.cur:
                self.cur.execute(sql, params)
                self.conn.commit()
        except Exception as e:
            print(e)
            print("execute failed:" + sql)
            return False
        return True

    def fetchall(self,sql,params=None):
        self.execute(sql,params)
        return self.cur.fetchall()
if __name__ == '__main__':
    dbhelper=DBHelper()

 

你 database 单词 打错了

img