【问题标题】:Scrapy Crawler does not working when there is no link pagination on root page当根页面上没有链接分页时,Scrapy Crawler 不起作用
【发布时间】:2016-02-29 17:53:20
【问题描述】:

我的 scrapy 爬虫始终无法按预期工作。

我从网上商店废弃了一些类别,其中每个类别页面都包含分页,但有时它不包含链接分页,因为只有一个页面

我的规则只有在链接分页在我选择的页面内时才有效,但当类别的根页面是唯一的页面时,我不知道如何使它工作。

这是我的规则。

rules = [
    Rule(LinkExtractor(allow=(),restrict_xpaths=('//a[@class="button button_gris button_medium"]',)), callback='parse_item', follow=True)

知道如何让它也刮掉不包含我定位的分页链接的页面。

注意:

我使用由 mysqlDB 填充的起始 url 启动爬虫,例如,arg 表用于选择我的链接表,其中使用了起始 url。

scrapy crawl mg_bot_crawler -a table=mini_four 

感谢您的帮助

【问题讨论】:

    标签: python scrapy scrapy-spider


    【解决方案1】:

    只需将您的回调更改为 parse_start_url 并覆盖它,请参阅此答案Scrapy CrawlSpider doesn't crawl the first landing page

    【讨论】:

    • 您好,感谢您的帮助。它是完美的。我找到了另一个解决方案,但你的方法看起来是个好方法。只是为了了解我的解决方案。我的登录页面中有一个面包屑链接,所以我只写了一个新规则,如下所示:Rule(LinkExtractor(allow=(),restrict_xpaths=('//*[@id="product_breadcrumb"]/a[last()]')), callback='parse_item', follow=False)
    猜你喜欢
    • 2017-09-15
    • 2014-02-03
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2019-04-12
    相关资源
    最近更新 更多