You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Scrapy爬虫无法返回任何链接?房源网站爬取CSS选择器问题咨询

问题原因排查

你当前写的CSS选择器和页面实际结构不匹配,是无法获取到数据的核心原因,和是否添加上层main节点定位没有直接关联:
你写的选择器中ul.apartment-search-ad-list是用类名匹配ul元素,但你提供的页面结构里,apartment-search-ad-list是ul的id属性值,ul的类名只有ad-list,类名匹配自然找不到对应元素。

修复方案

你可以直接用id选择器定位元素,id本身在页面中具备唯一性,不需要额外添加上层main节点层级就能精准匹配,修改后的选择器参考如下:

div#apartment-search-hits > ul#apartment-search-ad-list > li.ad-list__item > a::attr(href)

如果偏好使用类名匹配,也可以把ul的匹配规则改成ul.ad-list。

关于是否添加上层main节点定位的说明

如果你的爬虫后续需要适配页面结构更新,担心页面出现重名的类或id,可以添加上层main节点的定位来提升选择器的优先级,调整后的写法参考:

main#main-content div#apartment-search-hits > ul#apartment-search-ad-list > li.ad-list__item > a::attr(href)

额外注意点

Scrapy的CSS选择器取属性时,attr内部不需要加引号,直接写::attr(href)即可,部分旧版本Scrapy识别带引号的写法会抛出匹配异常。

内容的提问来源于stack exchange,提问作者Mr K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:24:03