我的代码以退出代码0结束,但只更新第一行,我在尝试更新它时出错,但无法找到它。我是个新手。
import pymysql
from bs4 import BeautifulSoup
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--incognito")
driver = webdriver.Chrome(chrome_options=chrome_options)
mainDB_cnx = pymysql.connect(user='', password='',
host='',
database='Content', use_unicode=True, charset="utf8mb4")
mainDB_cursor = mainDB_cnx.cursor()
mainDB_cursor.execute("SELECT content_url FROM Content.Reddit")
row = mainDB_cursor.fetchone()
while row is not None:
print(row[0])
open_page = driver.get(row[0])
html_source = driver.page_source
soup = BeautifulSoup(html_source, 'html.parser')
for script in soup(["script", "style"]):
script.decompose()
content_names = soup.get_text()
with mainDB_cnx:
mainDB_cursor.execute("""
UPDATE Content.Reddit
SET artists_names_2 = %s
WHERE artists_url = %s""", (content_names.encode('utf-8'),row[0]))
row = mainDB_cursor.fetchone()
# Commit the transaction
mainDB_cnx.commit()
# Close the cursor
mainDB_cursor.close()
# Close the database connection
mainDB_cnx.close()
1条答案
按热度按时间rslzwgfq1#
当您仍然需要第一个结果集时,您正在重用同一个游标来执行更多sql:
这将替换
SELECT
-是的,尽管这是一个UPDATE
.