我怎样才能得到一个项目scrapy多个递归请求的结果?

问题描述

我创建了一个蜘蛛抓取一个网站和取我想要的数据。 (它的工作非常好)

但我想,得到仅1项(而不是数千)当所有URL已以优化它已被抓取。

我的蜘蛛的主要部分(在一个非常简化的方式)是:

export interface CustomerListItem {
name: string;
address: string;
}


const EXAMPLE_DATA: CustomerListItem[] = [
{ name: 'Michael Jordan',address: '1111 Grail St. Concord MI 98076' },{ name: 'Jeremy Scott',address: '7690 Wing Drive. Adidas,MI' },{ name: 'Hiroki Nakamura',address: '980 Air Force Rd. Jubilee,{ name: 'James Bond',address: '654 Depop Dr. Chicago,{ name: 'Bill Bowerman',address: '1811 Hill St. Converse,{ name: 'Clyde Frazier',address: '3333 Cement Ln. Jordan,MI'},{ name: 'Jeff Staple',address: '4444 Black Cat Ct. Jordan,{ name: 'Sophia Chang',address: '2006 Citrus Rd. Seven,];

在一个完美的世界,我想只是:

def start_requests(self):

    yield scrapy.Request(url=self.domain,callback=self.parse,dont_filter=True)

def parse(self,response,depth=0):

    # Save data in self Object & return next urls to crawl
    links_to_crawl = self.crawling(soup)

    if depth + 1 == self.depth_max:
        yield self.create_item()

    else:
        for link in links_to_crawl:

            yield scrapy.Request(
                url = response.urljoin(link),dont_filter=True,cb_kwargs = {"depth": depth + 1}
            )

def create_item(self):

    item = ItemLoader(item=WhatbotItem())
    item.add_value('domain',self.domain)
    item.add_value('title',self.title)
    return item.load_item()

我试过很多想法,但我不知道很多Scrapy,帮我:)

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)