错误:Spider必须返回Request、BaseItem、dict或None,GET中的got'set'

2024-09-28 01:31:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着索引gogoanime1.com上的页面,其中包含“watch/”Url下面的工作,以前只有不同的网站,但由于原因,像这样的错误是在我的日志[刮板]错误:Spider必须返回Request、BaseItem、dict或None,准备好了吗https://www.gogoanime1.com/watch/cardfaight-vanguard-g-next/incidence/incidence-48/1>;你知道吗

而且所有的数据都不在我的输出json中

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class GogocrawlerSpider(CrawlSpider):
    name = 'gogocrawler'
    allowed_domains = ['gogoanime1.com']
    start_urls = ['http://gogoanime1.com/']

    rules = (
        Rule(LinkExtractor(allow=r'watch/'), callback='parse_item', follow=True),
    )

    def parse_item(self, response):
         yield {response.url}

我的部分日志:[刮板]错误:Spider必须返回Request、BaseItem、dict或None,在中得到“set”https://www.gogoanime1.com/watch/cardfaight-vanguard-link-joker-hen/caption/caption-1>; 2019-08-13 16:26:16 [刮板]错误:Spider必须返回Request、BaseItem、dict或None,在中得到“set”https://www.gogoanime1.com/watch/cardfaight-vanguard-link-joker-hen/spoint/spoint-2>; 2019-08-13 16:26:16 [刮板]错误:Spider必须返回Request、BaseItem、dict或None,在中得到“set”https://www.gogoanime1.com/watch/cardfaight-vanguard-g-next/spoint/spoint-43/1>; 2019-08-13 16:26:16 [发动机]调试:已爬网(200)https://www.gogoanime1.com/watch/cardfaight-vanguard-g-next/incidence/incidence-44/1>;(参考:https://www.gogoanime1.com/watch/cardfight-vanguard-g-next/episode/episode-44) 2019-08-13 16:26:16 [刮板]错误:Spider必须返回Request、BaseItem、dict或None,在中得到“set”https://www.gogoanime1.com/watch/cardfaight-vanguard-link-joker-hen/caption/caption-4>; 2019-08-13 16:26:16 [刮板]错误:Spider必须返回Request、BaseItem、dict或None,在中得到“set”https://www.gogoanime1.com/watch/cardfaight-vanguard-link-joker-hen/spoint/spoint-5>;你知道吗


Tags: httpsgt刮板comnonerequestwww错误
1条回答
网友
1楼 · 发布于 2024-09-28 01:31:20

如错误日志中所述。你得回去 请求、BaseItem、dict或None。你知道吗

所以这对你有用

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class GogocrawlerSpider(CrawlSpider):
    name = 'gogocrawler'
    allowed_domains = ['gogoanime1.com']
    start_urls = ['http://gogoanime1.com/']

    rules = (
        Rule(LinkExtractor(allow=r'watch/'), callback='parse_item', follow=True),
    )

    def parse_item(self, response):
         yield {'url':response.url}

您现在应该可以在输出.json你知道吗

相关问题 更多 >

    热门问题