首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >抓取-不能列出更深层次的链接

抓取-不能列出更深层次的链接
EN

Stack Overflow用户
提问于 2020-08-19 13:10:34
回答 1查看 32关注 0票数 1

我需要创建一个网站网址列表。为此,我使用了Scrapy2.3.0。问题是结果('item_scraped_count')是63个链接,但我知道还有更多。

有什么方法可以处理更深的层次并获取url吗?

我的代码如下:

代码语言:javascript
运行
复制
from scrapy.spiders import CrawlSpider
from scrapy.spiders import Rule
from scrapy.linkextractors import LinkExtractor

from scrapy import Item
from scrapy import Field


class UrlItem(Item):
    url = Field()


class RetriveUrl(CrawlSpider):
    name = 'retrive_url'
    allowed_domains = ['example.com']
    start_urls = ['https://www.example.com']

    rules = (
        Rule(LinkExtractor(), callback='parse_url'),
    )

    def parse_url(self, response):
        item = UrlItem()
        item['url'] = response.url

        return item
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-19 13:22:54

你应该允许爬行到更深的层次。试试这个:

代码语言:javascript
运行
复制
Rule(LinkExtractor(), callback='parse_url', follow=True),

follow是一个布尔值,它指定是否应该从使用此规则提取的每个响应中遵循链接。如果callbackNone,那么默认为True,否则默认为False

(从刮伤医生那里)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63487741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档