第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將兩只蜘蛛合二為一?

如何將兩只蜘蛛合二為一?

慕碼人8056858 2021-12-08 10:22:19
有兩個(gè)蜘蛛使用相同的資源文件和幾乎相同的結(jié)構(gòu)。SpiderA 包含:import scrapyimport pkgutilclass StockSpider(scrapy.Spider):    name = "spiderA"    data = pkgutil.get_data("tutorial", "resources/webs.txt")    data = data.decode()    urls = data.split("\r\n")    start_urls = [url + "string1"  for url in urls]    def parse(self, response):        passSpiderB 包含:import scrapyimport pkgutilclass StockSpider(scrapy.Spider):    name = "spiderB"    data = pkgutil.get_data("tutorial", "resources/webs.txt")    data = data.decode()    urls = data.split("\r\n")    start_urls = [url + "string2"  for url in urls]    def parse(self, response):        pass如何結(jié)合spiderA和spiderB,并添加一個(gè)開關(guān)變量來crapy scral根據(jù)我的需要調(diào)用不同的spider?
查看完整描述

2 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

嘗試為蜘蛛類型添加單獨(dú)的參數(shù)。您可以通過調(diào)用來設(shè)置它scrapy crawl myspider -a spider_type=second。檢查此代碼示例:


import scrapy

import pkgutil


class StockSpider(scrapy.Spider):

    name = "myspider"


    def start_requests(self):

        if not hasattr(self, 'spider_type'):

            self.logger.error('No spider_type specified')

            return

        data = pkgutil.get_data("tutorial", "resources/webs.txt")

        data = data.decode()


        for url in data.split("\r\n"):

            if self.spider_type == 'first':

                url += 'first'

            if self.spider_type == 'second':

                url += 'second'

            yield scrapy.Request(url)


    def parse(self, response):

        pass

而且您始終可以創(chuàng)建基主類,然后從它繼承,僅重載一個(gè)變量(添加到 url)和名稱(用于單獨(dú)調(diào)用)。


查看完整回答
反對(duì) 回復(fù) 2021-12-08
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

spider_type 導(dǎo)致錯(cuò)誤


NameError: name 'spider_type' is not defined.

它是蜘蛛類中的 self.spider_type。


import scrapy

import pkgutil


class StockSpider(scrapy.Spider):

    name = "myspider"


    def start_requests(self):

        if not hasattr(self, 'spider_type'):

            self.logger.error('No spider_type specified')

            return

        data = pkgutil.get_data("tutorial", "resources/webs.txt")

        data = data.decode()


        for url in data.split("\r\n"):

            if self.spider_type == 'first':

                url += 'first'

            if self.spider_type == 'second':

                url += 'second'

            yield scrapy.Request(url)


    def parse(self, response):

        pass

使其更加嚴(yán)格和準(zhǔn)確。


scrapy crawl myspider -a spider_type='second'


查看完整回答
反對(duì) 回復(fù) 2021-12-08
  • 2 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)