Je veux obtenir la valeur href
:
<span class="title">
<a href="https://www.example.com"></a>
</span>
J'ai essayé ceci:
Link = Link1.css('span[class=title] a::text').extract()[0]
Mais je reçois juste le texte à l'intérieur du <a>
. Comment puis-je obtenir le lien dans le href
?
Ce que vous recherchez, c'est:
Link = Link1.css('span[class=title] a::attr(href)').extract()[0]
Puisque vous correspondez également à un attribut span
"class", vous pouvez même écrire
Link = Link1.css('span.title a::attr(href)').extract()[0]
Veuillez noter que le pseudo-élément ::text
Et le pseudo-élément fonctionnel ::attr(attributename)
sont ET NON les sélecteurs CSS3 standard. Ce sont des extensions des sélecteurs CSS dans Scrapy 0.20.
Edit (2017-07-20): à partir de Scrapy 1.0, vous pouvez utiliser .extract_first()
au lieu de .extract()[0]
Link = Link1.css('span[class=title] a::attr(href)').extract_first()
Link = Link1.css('span.title a::attr(href)').extract_first()
Link = Link1.css('span.title a::attr(href)').extract_first()
Cela fera le travail:
Link = Link1.css('span.title a::attr(href)').extract()
Link
aura la valeur: https://www.example.com