国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

小白爬蟲(chóng)scrapy第五篇

I_Am / 956人閱讀

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

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

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

由于我的數(shù)據(jù)庫(kù)是本地的那就所以直接醬紫
之后呢,在mysqlpipelines目錄中新建一個(gè)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游標(biāo)操作
cnx = mysql.connector.connect(user=MYSQL_USER, password=MYSQL_PASSWORD, host=MYSQL_HOSTS, database=MYSQL_DB)
cur = cnx.cursor(buffered=True)

# 定義一個(gè)sql類(lèi)
class Sql:
    # @classmethod 做類(lèi)修飾,相當(dāng)于靜態(tài)類(lèi)
    # 定義函數(shù),將函數(shù)中的變量保存到數(shù)據(jù)庫(kù)中
    @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ù)的小說(shuō)編號(hào)有則返回1 沒(méi)有則返回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可能會(huì)報(bào)錯(cuò),如果報(bào)錯(cuò)的話就去百度python如何下載數(shù)據(jù)庫(kù)連接包吧
然后繼續(xù)在mysqlpipelines創(chuàng)建一個(gè)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"開(kāi)始存視頻信息")
        return item

最后在settings.py里面去注冊(cè)一下DingdianPipeline
找到下面這一段

# Configure item pipelines
# See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
    "AiQuer.mysqlpipelines.pipelines.AiquerPipeline": 300,
}

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/41215.html

相關(guān)文章

  • 小白爬蟲(chóng)scrapy第一篇

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

    beanlam 評(píng)論0 收藏0
  • 小白爬蟲(chóng)scrapy第四篇

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

    cnio 評(píng)論0 收藏0
  • 小白爬蟲(chóng)scrapy第二篇

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

    booster 評(píng)論0 收藏0
  • 小白爬蟲(chóng)scrapy第三篇

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

    laznrbfe 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<