Scrapy 按id的一部分和分割属性值查找元素

Scrapy 按id的一部分和分割属性值查找元素,scrapy,css-selectors,Scrapy,Css Selectors,我是Scrapy的新手,正在尝试创建一个CSS选择器,该选择器通过id的一部分查找元素,并拆分其值属性以获得第n项。到目前为止,我一直在使用简单的选择器,如下所示: item['url'] = response.url # get url item['address'] = response.css('span.address::text').get().strip() # get address 但是,现在我想选择这个元素(所有id以mger开头的元素)并在其value属性中

我是Scrapy的新手,正在尝试创建一个CSS选择器,该选择器通过id的一部分查找元素,并拆分其
属性以获得第n项。到目前为止,我一直在使用简单的选择器,如下所示:

item['url'] = response.url # get url        
item['address'] = response.css('span.address::text').get().strip() # get address
但是,现在我想选择这个元素(所有id以
mger
开头的元素)并在其
value
属性中拆分该值:

response.css("[id^=mger]").attr('value').get().split("~")(0)

我一直在研究这个页面:和谷歌,但仍然不知道怎么做

通常,对于常规CSS选择器,我会使用
[id^=mger]

我想要的伪代码,从
value
属性获取值
21110564343

response.css("[id^=mger]").attr('value').get().split("~")(0)

css应该可以工作,但选择器应该如下所示:

selector.css('[id^=mger]::attr(value)').get()
使用scrapy,您还可以使用
xpath
(事实上,css选择器被转换为xpath),因此您还可以使用:

response.xpath('//*[starts-with(@id, "mger")]/@value').get()
如果您没有获得信息,可能这意味着元素实际上不存在于响应体中,您必须首先确认这一点