scrapy 如何从动态加载的网站中获取XPATH或CSS选择器以跟随链接?

rpppsulh  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(145)

这是一个动态加载的网站https://www.gelbeseiten.de/suche/hotels/n%c3%bcrnberg。我尝试着跟踪搜索结果中的每个链接。我找到了//article[@class='mod mod-Treffer']/a来跟踪搜索结果链接。但问题是这个XPATH只对几个链接有效。对于其他的链接,我没有找到任何选择器。因为其他人可能是用JS来做这个动作的。我对这种动态网站并不熟悉。所以,我不知道如何从这类网站获得选择器。任何建议将不胜感激。

vkc1a9a2

vkc1a9a21#

我将把这个作为一个答案发布,而不是真正给你代码,因为它可能会对你有更多的长期帮助。
首先,在浏览器中加载该页面,并禁用javascript(有直接在浏览器中禁用js的方法,或者使用像ublock origin等扩展-查找它)。
你会注意到只有前2家酒店是完全加载的,其余的都是由javascript动态加载的(在本例中javascript是禁用的)。//article[@class='mod mod-Treffer']/a选择器有13个匹配项,而该页面上有更多的酒店。但是,每个酒店都被 Package 在一个<article>标签中,该标签有data-realid="[...]"属性。每个酒店的url应该是https://www.gelbeseiten.de/gsbiz/{data-realid}
这就是你如何可以得到所有这些酒店的个人资料链接。

相关问题