摘要:接下來將數據保存到數據庫中在項目路徑下創建一個目錄名字叫做以便區分創建將其他目錄的文件拷貝一份放入該目錄然后可以正式開始吧爬取的數據如何存放在數據庫中了客觀代碼來了打開文件在最下面添加數據庫地址數據庫用戶名數據庫密碼數據庫端口數據庫中庫由于
接下來將數據保存到數據庫中
在項目路徑下創建一個目錄名字叫做:mysqlpipelines以便區分
創建將其他目錄的__init__.py文件拷貝一份放入該目錄
然后可以正式開始吧爬取的數據如何存放在數據庫中了,客觀代碼來了
打開settings.py文件在最下面添加 # configure MySQL MYSQL_HOSTS = "127.0.0.1"#數據庫地址 MYSQL_USER = "root"#數據庫用戶名 MYSQL_PASSWORD = "root"#數據庫密碼 MYSQL_PORT = "3306"#數據庫端口 MYSQL_DB = "test"#數據庫中test庫
由于我的數據庫是本地的那就所以直接醬紫
之后呢,在mysqlpipelines目錄中新建一個sql.py
代碼如下
import mysql.connector from dingdian import settings # 引用配置文件 MYSQL_HOSTS = settings.MYSQL_HOSTS MYSQL_USER = settings.MYSQL_USER MYSQL_PASSWORD = settings.MYSQL_PASSWORD MYSQL_PORT = settings.MYSQL_PORT MYSQL_DB = settings.MYSQL_DB # 初始化MYSQL游標操作 cnx = mysql.connector.connect(user=MYSQL_USER, password=MYSQL_PASSWORD, host=MYSQL_HOSTS, database=MYSQL_DB) cur = cnx.cursor(buffered=True) # 定義一個sql類 class Sql: # @classmethod 做類修飾,相當于靜態類 # 定義函數,將函數中的變量保存到數據庫中 @classmethod def insert_dd_name(cls, video_name, video_time, video_imgurl, video_url): sql = "INSERT INTO video_info(video_name, video_time, video_imgurl, video_url) VALUES(%(video_name)s, %(video_time)s, %(video_imgurl)s, %(video_url)s)" value = {"video_name" : video_name, "video_time": video_time , "video_imgurl": video_imgurl , "video_url": video_url } print(sql, value) cur.execute(sql, value) cnx.commit() pass # 查找是否有重復的小說編號有則返回1 沒有則返回0 @classmethod def select_name(cls, video_name): sql = "SELECT EXISTS(SELECT 1 FROM video_info WHERE video_name= %(video_name)s)" value = { "video_name": video_name } cur.execute(sql, value) return cur.fetchall()[0]
上面代碼中import mysql.connector可能會報錯,如果報錯的話就去百度python如何下載數據庫連接包吧
然后繼續在mysqlpipelines創建一個pipelines.py
代碼如下:
from .sql import Sql from AiQuer.items import AiquerItem class DingdianPipeline(object): def process_item(self, item, spider): if isinstance(item, AiquerItem): video_name= item["video_name"] ret = Sql.select_name(video_name) if ret[0] == 1: print(u"已存在") else: video_name= item["video_name"] video_time= item["video_time"] video_imgurl= item["video_imgurl"] video_url= item["video_url"] Sql.insert_dd_name(video_name, video_time, video_imgurl, video_url) print(u"開始存視頻信息") return item
最后在settings.py里面去注冊一下DingdianPipeline
找到下面這一段
# Configure item pipelines # See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { "AiQuer.mysqlpipelines.pipelines.AiquerPipeline": 300, }
注:我在這里面沒有建立數據庫表請同學們自己去創建表吧
啟用后你會發現數據庫有你選擇用戶的所有視頻,哈哈哈~
python的就到這兒了.如果要詳細了解進階的話就看python的scrapy文檔吧!
附上鏈接Scrapy入門教程.拜拜~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41215.html
摘要:如果想先學習的話推薦看下基礎教學菜鳥教程這個網站的教程里面的內容還是挺不錯的非常適合小白學習好了廢話不多說開始學習如何安裝吧安裝我上篇小白爬蟲篇簡介下面的鏈接安裝包后在或者在中輸入命令過程中可能會問你是否安裝其他擴展包選按回車就好了安裝完成 如果想先學習python的話推薦看下Python基礎教學|菜鳥教程這個網站的教程,里面的內容還是挺不錯的非常適合小白學習好了廢話不多說開始學習如何...
摘要:沒有做具體數據處理了直接把他們保存為數據了很長很長一段眼花下一篇是如何去保存在數據庫中 在上篇中沒有說到啟動如何去啟動,scrapy是使用cmd命令行去啟動的咱們用scrapy的cmdline去啟動命名point.py # 導入cmdline 中的execute用來執行cmd命令 from scrapy.cmdline import execute # 執行cmd命令參數為[ scra...
摘要:創建爬蟲項目我創建的項目名稱為用打開項目可以看到目錄結構如下根目錄有個是他的配置文件用來存放你的爬蟲文件我就不做解釋了存放集合中間件用來自定義插件在這里咱們用不到這玩意用來存儲數據這個還用解釋嗎你可以在中看到這個他們的具體介紹就去看入門到奔 創建爬蟲項目 scrapy startproject (projectName) 我創建的項目名稱為AIQuery scrapy startpro...
摘要:基于的樹狀結構,提供在數據結構樹中找尋節點的能力。起初的提出的初衷是將其作為一個通用的介于與間的語法模型。 在你的spiders目錄下創建自己第一個爬蟲項目,我我這兒命名為AiquerSpider.py然后編輯文件 # !/usr/bin/python # -*- coding: UTF-8 -*- import scrapy from scrapy.http import Reque...
閱讀 3606·2021-11-15 11:38
閱讀 2801·2021-11-11 16:55
閱讀 2551·2021-11-08 13:22
閱讀 2628·2021-11-02 14:45
閱讀 1304·2021-09-28 09:35
閱讀 2568·2021-09-10 10:50
閱讀 463·2019-08-30 15:44
閱讀 2775·2019-08-29 17:06