gpt4 book ai didi

scrapy - 如何使用scrapy爬虫蜘蛛在SgmlLinkExtractor的 "allow"规则中包含起始网址

转载 作者:行者123 更新时间:2023-12-04 09:55:39 25 4
gpt4 key购买 nike

我搜索了很多主题,但似乎没有找到我的具体问题的答案。
我为一个网站创建了一个爬行蜘蛛,它运行良好。然后我做了一个类似的来抓取一个类似的网站,但这次我遇到了一个小问题。谈生意:

我的起始网址如下所示: www.example.com 。该页面包含我想要应用我的蜘蛛的链接,如下所示:

  • www.example.com/locationA
  • www.example.com/locationB
  • www.example.com/locationC

  • ...

    我现在有一个问题:
    每次当我输入起始 url 时,它都会自动重定向到 www.example.com/locationA 并且我的蜘蛛工作的所有链接包括
  • www.example.com/locationB
  • www.example.com/locationC
    ...

  • 所以我的问题是如何在返回的 URL 中包含 www.example.com/locationA。我什至得到了如下日志信息:

    -2011-11-28 21:25:33+1300 [example.com] 调试:将 (302) 重定向到 http://www.example.com/>

    -2011-11-28 21:25:34+1300[example.com] 调试:将 (302) 重定向到 (referer: None)
  • 2011-11-28 21:25:37+1300 [example.com] 调试:将 (302) 重定向到 (referer: www.example.com/locationB)

  • 从 parse_item 打印出来:www.example.com/locationB

    ....

    我认为这个问题可能与(推荐人:无)有关。任何人都可以对此有所了解吗?

    我通过将起始 url 更改为 www.example.com/locationB 来缩小此问题的范围。由于所有页面都包含所有位置的列表,这次我让我的蜘蛛工作:

    -www.example.com/locationA

    -www.example.com/locationC
    ...

    简而言之,我正在寻找将与起始 url 相同(或重定向自)的 url 包含到 parse_item 回调将处理的列表中的方法。

    最佳答案

    对于其他有同样问题的人,经过大量搜索,您只需将回调函数命名为 parse_start_url .

    例如:

    rules = (
    Rule(LinkExtractor(allow=(), restrict_xpaths=(
    '//*[contains(concat( " ", @class, " " ), concat( " ", "pagination-next", " " ))]//a',)), callback="parse_start_url", follow=True),
    )

    关于scrapy - 如何使用scrapy爬虫蜘蛛在SgmlLinkExtractor的 "allow"规则中包含起始网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293432/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com