日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql打印语句_大数据挖掘—(八):scrapy爬取数据保存到MySql数据库

發布時間:2025/3/21 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql打印语句_大数据挖掘—(八):scrapy爬取数据保存到MySql数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(大數據挖掘—(七):讀懂MySql數據庫操作)(大數據挖掘神器——scrapy spider爬蟲框架(五):解析多層網頁)
通過往期的文章分享,我們了解了如何爬取想要的數據到Items中,也了解了如何操作MySQL數據庫,那么我們繼續完善我們的爬蟲代碼,把爬取的items,保存到MySQL數據庫中。

scrapy構架 為了方便操作,我們自己新建一個mysqlpipelines文件夾,編寫自己的pipelines.py文件,來運行保存items,在此文件夾下新建sql.py來編寫我們保存數據庫的sql語句。 編寫sql語句 打開sql.py 編寫代碼,首先要連接數據庫 import pymysql.cursors # 連接數據庫 connect = pymysql.Connect(host=MYSQL_HOSTS,port=MYSQL_PORT,user=MYSQL_USER,passwd=MYSQL_PASSWORD, db=MYSQL_DB,charset='utf8' ) cursor = connect.cursor()# 獲取游標 print('連接數據庫OK')數據庫連接ok后,我們打印一下,以便測試 新建一個類,編寫sql語句 class my_sql:@classmethod #插入數據def insert_data(cls,novelname,author,category,nameid,status,num,url):...................................................................................@classmethod #判斷數據是否存在def select_name(cls,novelname):................................................................................@classmethod # 更新數據def update_data(cls,author,category,nameid,status,num,url,novelname):................................................................................@classmethod # close sqldef close_sql(cls):cursor.close()connect.close()print('數據庫斷開連接OK')類中我們定義了插入,更新,查詢的基本sql語句,最后定義一個關閉數據庫的操作,中間操作數據庫的詳細代碼請參考往期文件。 編寫pipelines from myproject.mysqlpipelines.sql import my_sql from myproject.items import PowersItem #插入新建的sql與item定義pipelines class Powerspipeline(object):def process_item(self,item,spider):if isinstance(item,PowersItem):#判斷item是否存在novelname=item['novelname']author = item['author']category = item['category']nameid = item['nameid']status = item['status']num = item['num']url = item['novelurl'] #以上獲取爬取的數據ret=my_sql.select_name(novelname)#判斷數據是否存在在數據庫中if ret[0]==1:#已經存在print('已經存在,等待更新') #若數據庫中有以前的數據,更新數據庫my_sql.update_data(author,category,nameid,status,num,url,novelname)passelse: #若數據庫中沒有數據,保存itemprint('開始保存')my_sql.insert_data(novelname,author,category,nameid,status,num,url)else :print('no find items')return item通過以上的操作我們爬蟲的所有代碼就完成了,運行代碼就可以從數據庫中,看到保存的數據


由于我調試過一次,已經有的數據,再次運行程序時,就會更新數據庫。

保存的數據
下期預告:
關于爬蟲的內容還有很多,下期我們分享一下爬蟲解析網頁的一個利器,正則表達式
微信搜索小程序:AI人工智能工具

體驗不一樣 的AI工具

總結

以上是生活随笔為你收集整理的mysql打印语句_大数据挖掘—(八):scrapy爬取数据保存到MySql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。