51Testing软件测试论坛

标题: python使用数据库时,关闭游标报错,如何解决? [打印本页]

作者: 测试积点老人    时间: 2022-4-27 10:39
标题: python使用数据库时,关闭游标报错,如何解决?
[attach]137650[/attach]
源码如下:
  1. from selenium.webdriver import Chrome, ChromeOptions

  2. import pymysql

  3. class SQL:
  4. def __init__(self):
  5.     self.host = 'localhost'
  6.     self.username = 'root'
  7.     self.password = '199904300073'
  8.     self.database = 'lvyouxitong'
  9.     self.conn = None
  10.     self.cursor = None

  11. def connect(self):
  12.     self.conn = pymysql.connect(host=self.host, port=3306,user=self.username, password=self.password, database=self.database)

  13. def execute(self, str):
  14.     if self.conn is None:
  15.         self.connect()
  16.     self.cursor = self.conn.cursor()
  17.     self.cursor.execute(str)
  18.     self.conn.commit()

  19. def query(self, str):
  20.     if self.conn is None:
  21.         self.connect()
  22.     self.cursor = self.conn.cursor()
  23.     self.cursor.execute(str)
  24.     return self.cursor.fetchall()

  25. def close(self):
  26.     self.cursor.close()
  27.     self.conn.close()
  28. option = ChromeOptions()
  29. option.add_argument('--headless')
  30. option.add_argument('--no-sandbox')
  31. url = 'https://new.qq.com/ch/visit/'
  32. browser = Chrome(options=option)
  33. browser.get(url=url)
  34. sql = SQL()
  35. browser_list = browser.find_elements_by_xpath('//*[@id="dataFull"]/li/h3/a')
  36. for i in browser_list:
  37. title = i.text
  38. url = i.get_attribute('href')
  39. sql.execute('insert into hot_news values(0, "%s", "%s");' % (title, url))
  40. print('%s -插入成功' % title)
  41. sql.close()
复制代码



作者: 郭小贱    时间: 2022-4-28 09:57
可以参考这篇文章看下,https://ask.csdn.net/questions/7702815
作者: qqq911    时间: 2022-4-28 11:17
检查下你的sql

作者: jingzizx    时间: 2022-4-28 16:48
不对了
作者: kallinr    时间: 2022-4-28 17:15
检查日志




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2