Scrapy - 从 link 中提取具有特定属性值的 href

Scrapy - extract href from link with specific attribute value

我正在使用 Scrapy。我有一个 a-carousel-card 的列表,我想在其中从第二个元素中提取 href。以下代码仅提取它找到的第一个 link。这些卡片之间的唯一区别是具有值 "1""2" 等的 aria-posinset 属性

response.css("li.a-carousel-card a::attr(href)").extract_first()

我非常不确定如何从列表中的第二个元素中提取 href。 类似于 response.css("li.a-carousel-card a[aria-posinset="2"] a::attr(href)").extract_first(),但这给了我“2”处的语法错误。

第一个元素是

<li class="a-carousel-card a-float-left" role="listitem" aria-setsize="100" aria-posinset="1" aria-hidden="false" style="margin-left: 14px;">,

而另一个是

<li class="a-carousel-card a-float-left" role="listitem" aria-setsize="100" aria-posinset="2" aria-hidden="false" style="margin-left: 14px;">

两者之间的唯一区别是 aria-posinset 中的值:“1”和“2”。

我该如何完成?

您要么需要转义字符串中的双引号,要么需要使用单引号。您需要使用下面

response.css("li.a-carousel-card[aria-posinset='2'] a::attr(href)").extract_first()