如何使用Scrapy Selector获取指定id关联的value值?
解决方案
你可以直接通过属性过滤规则精准定位到目标节点,无需提前获取所有id列表或遍历节点,有两种常用实现方式:
方式1:CSS选择器实现
# 直接匹配id为form1的div下、id为env_id_z的input节点,提取value属性 target_value = response.css('div#form1 input#env_id_z::attr(value)').get() print(target_value) # 输出:Value3
方式2:XPath选择器实现
target_value = response.xpath('//div[@id="form1"]//input[@id="env_id_z"]/@value').get() print(target_value) # 输出:Value3
原理说明
Scrapy的选择器原生支持属性匹配规则,你可以直接在选择路径中加入id=xxx的过滤条件,一步定位到唯一的目标节点,直接提取对应属性即可,效率远高于先获取全量id再遍历匹配的方案。
内容的提问来源于stack exchange,提问作者João Santos
相关产品推荐
相关产品推荐

