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

时间:2017-09-21 10:33:49

标签: html css scrapy href

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

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()这样的东西,但是这给了我#34; 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中的值:&#34; 1&#34;和&#34; 2&#34;。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:3)

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

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