python selenium mysql -- 数据爬取2

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('https://www.00ksw.com/html/120/120704/')

zj_list = []
# 使用更健壮的XPath或CSS选择器
links = driver.find_elements(By.XPATH, '/html/body/div/div[5]/div[2]/div[1]/div[3]/ul/li')
for zj_element in links:
    zj = zj_element.text
    zj_info = {
        '章节': zj,
        # ...其他字段(如果需要)
    }
    zj_list.append(zj_info)
    print(zj_info)

driver.quit()

import pymysql

con = pymysql.connect(
    host="localhost",
    port=3306,
    user="root",
    password="000000",
    database="db_python"
)
cursor = con.cursor()

# 创建表(如果尚未存在)
create_table_sql = """    
    CREATE TABLE IF NOT EXISTS content_data(       
        Paragraph VARCHAR(20) DEFAULT NULL    
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;    
"""
cursor.execute(create_table_sql)

try:
    # 插入数据到表中
    for zj in zj_list:
        # 假设我们只插入“章节”列
        insert_sql = "INSERT INTO content_data (Paragraph) VALUES (%s)"
        cursor.execute(insert_sql, (zj['章节']))

        # 提交事务
    con.commit()
except pymysql.MySQLError as e:
    print("Error:", e)
    # 如果发生错误,回滚事务
    con.rollback()

# 关闭连接
cursor.close()
con.close()

 

posted @ 2024-05-31 17:00  ~沐心  阅读(19)  评论(0)    收藏  举报