爬虫数据存储到数据库——MySQL + MongoDB 实战

📅 2026/7/10 1:51:58
爬虫数据存储到数据库——MySQL + MongoDB 实战
数据爬下来后存为 CSV 或 JSON 虽然简单但查询和更新不方便。当数据量上万条时建议存入数据库。这篇讲爬虫数据如何写入 MySQL 和 MongoDB。一、MySQL 存储1. 建表CREATETABLEproducts(idBIGINTAUTO_INCREMENTPRIMARYKEY,source_idVARCHAR(100)NOTNULL,titleVARCHAR(200)NOTNULL,priceDECIMAL(10,2),brandVARCHAR(100),crawl_timeDATETIME,UNIQUEKEYuk_source_id(source_id))ENGINEInnoDBDEFAULTCHARSETutf8mb4;2. 写入数据importpymysqldefsave_to_mysql(items):connpymysql.connect(hostlocalhost,userroot,password123456,databasespider_db,charsetutf8mb4)cursorconn.cursor()sqlINSERT INTO products (source_id, title, price, brand, crawl_time) VALUES (%s, %s, %s, %s, %s) ON DUPLICATE KEY UPDATE price VALUES(price)foriteminitems:cursor.execute(sql,(item[source_id],item[title],item[price],item[brand],datetime.now()))conn.commit()cursor.close()conn.close()二、MongoDB 存储frompymongoimportMongoClient clientMongoClient(localhost,27017)dbclient[spider_db]collectiondb[products]# 插入collection.insert_many(items)# 去重更新有则更新无则插入foriteminitems:collection.update_one({source_id:item[source_id]},{$set:item},upsertTrue) 觉得有用的话点赞 关注【张老师技术栈】吧