这是报错
(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 单词 打错了