成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

小白爬蟲scrapy第五篇

I_Am / 976人閱讀

摘要:接下來將數(shù)據(jù)保存到數(shù)據(jù)庫中在項目路徑下創(chuàng)建一個目錄名字叫做以便區(qū)分創(chuàng)建將其他目錄的文件拷貝一份放入該目錄然后可以正式開始吧爬取的數(shù)據(jù)如何存放在數(shù)據(jù)庫中了客觀代碼來了打開文件在最下面添加數(shù)據(jù)庫地址數(shù)據(jù)庫用戶名數(shù)據(jù)庫密碼數(shù)據(jù)庫端口數(shù)據(jù)庫中庫由于

接下來將數(shù)據(jù)保存到數(shù)據(jù)庫中
在項目路徑下創(chuàng)建一個目錄名字叫做:mysqlpipelines以便區(qū)分
創(chuàng)建將其他目錄的__init__.py文件拷貝一份放入該目錄
然后可以正式開始吧爬取的數(shù)據(jù)如何存放在數(shù)據(jù)庫中了,客觀代碼來了

打開settings.py文件在最下面添加
# configure MySQL
MYSQL_HOSTS = "127.0.0.1"#數(shù)據(jù)庫地址
MYSQL_USER = "root"#數(shù)據(jù)庫用戶名
MYSQL_PASSWORD = "root"#數(shù)據(jù)庫密碼
MYSQL_PORT = "3306"#數(shù)據(jù)庫端口
MYSQL_DB = "test"#數(shù)據(jù)庫中test庫

由于我的數(shù)據(jù)庫是本地的那就所以直接醬紫
之后呢,在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 做類修飾,相當(dāng)于靜態(tài)類
    # 定義函數(shù),將函數(shù)中的變量保存到數(shù)據(jù)庫中
    @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
        
    # 查找是否有重復(fù)的小說編號有則返回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如何下載數(shù)據(jù)庫連接包吧
然后繼續(xù)在mysqlpipelines創(chuàng)建一個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,
}

注:我在這里面沒有建立數(shù)據(jù)庫表請同學(xué)們自己去創(chuàng)建表吧
啟用后你會發(fā)現(xiàn)數(shù)據(jù)庫有你選擇用戶的所有視頻,哈哈哈~
python的就到這兒了.如果要詳細了解進階的話就看python的scrapy文檔吧!
附上鏈接Scrapy入門教程.拜拜~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41215.html

相關(guān)文章

  • 小白爬蟲scrapy第一篇

    摘要:如果想先學(xué)習(xí)的話推薦看下基礎(chǔ)教學(xué)菜鳥教程這個網(wǎng)站的教程里面的內(nèi)容還是挺不錯的非常適合小白學(xué)習(xí)好了廢話不多說開始學(xué)習(xí)如何安裝吧安裝我上篇小白爬蟲篇簡介下面的鏈接安裝包后在或者在中輸入命令過程中可能會問你是否安裝其他擴展包選按回車就好了安裝完成 如果想先學(xué)習(xí)python的話推薦看下Python基礎(chǔ)教學(xué)|菜鳥教程這個網(wǎng)站的教程,里面的內(nèi)容還是挺不錯的非常適合小白學(xué)習(xí)好了廢話不多說開始學(xué)習(xí)如何...

    beanlam 評論0 收藏0
  • 小白爬蟲scrapy第四篇

    摘要:沒有做具體數(shù)據(jù)處理了直接把他們保存為數(shù)據(jù)了很長很長一段眼花下一篇是如何去保存在數(shù)據(jù)庫中 在上篇中沒有說到啟動如何去啟動,scrapy是使用cmd命令行去啟動的咱們用scrapy的cmdline去啟動命名point.py # 導(dǎo)入cmdline 中的execute用來執(zhí)行cmd命令 from scrapy.cmdline import execute # 執(zhí)行cmd命令參數(shù)為[ scra...

    cnio 評論0 收藏0
  • 小白爬蟲scrapy第二篇

    摘要:創(chuàng)建爬蟲項目我創(chuàng)建的項目名稱為用打開項目可以看到目錄結(jié)構(gòu)如下根目錄有個是他的配置文件用來存放你的爬蟲文件我就不做解釋了存放集合中間件用來自定義插件在這里咱們用不到這玩意用來存儲數(shù)據(jù)這個還用解釋嗎你可以在中看到這個他們的具體介紹就去看入門到奔 創(chuàng)建爬蟲項目 scrapy startproject (projectName) 我創(chuàng)建的項目名稱為AIQuery scrapy startpro...

    booster 評論0 收藏0
  • 小白爬蟲scrapy第三篇

    摘要:基于的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。起初的提出的初衷是將其作為一個通用的介于與間的語法模型。 在你的spiders目錄下創(chuàng)建自己第一個爬蟲項目,我我這兒命名為AiquerSpider.py然后編輯文件 # !/usr/bin/python # -*- coding: UTF-8 -*- import scrapy from scrapy.http import Reque...

    laznrbfe 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<