gpt4 book ai didi

带有 svg 元素的 Scrapy LinkExtractor 作为下一步按钮

转载 作者:行者123 更新时间:2023-12-03 18:01:08 98 4
gpt4 key购买 nike

我正在使用一个 CrawlSpider,它使用链接提取递归地跟踪调用下一页的链接,例如:

rules = (Rule(LinkExtractor(
allow=(),\
restrict_xpaths=('//a[contains(.,"anextpage")]')),\
callback='parse_method',\
follow=True),
)

我已经应用这个策略来递归抓取不同的网站,只要 html 标签中有文本,比如 <a href="somelink">sometext</a> ,一切正常。

我现在正在尝试抓取一个具有
<div class="bui-pagination__item bui-pagination__next-arrow">
<a class="pagenext" href="/url.html" aria-label="Pagina successiva">
<svg class="bk-icon -iconset-navarrow_right bui-pagination__icon" height="18" role="presentation" width="18" viewBox="0 0 128 128">
<path d="M54.3 96a4 4 0 0 1-2.8-6.8L76.7 64 51.5 38.8a4 4 0 0 1 5.7-5.6L88 64 57.2 94.8a4 4 0 0 1-2.9 1.2z"></path>
</svg>
</a>
</div>

作为“下一步”按钮而不是简单的文本,我的 LinkExtractor 规则似乎不再适用,并且蜘蛛在第一页后停止。

我试图寻找 svg 元素,但这似乎并没有触发提取:
restrict_xpaths=('//a[contains(.,name()=svg) and contains(@class,"nextpageclass")]'))

有什么我想念的吗?

最佳答案

这很可能是因为该网站使用了 javascript。您可能需要使用 Splash 来模拟点击以导航和返回预渲染的网站。这是一个很好的起点:
https://docs.scrapy.org/en/latest/topics/dynamic-content.html

关于带有 svg 元素的 Scrapy LinkExtractor 作为下一步按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55919187/

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