python scrapy使用css选择器获取href

时间:2014-01-17 08:58:36

标签: python css python-2.7 scrapy

我想获得href值。

我试过了:

Link = Link1.css('span[class=title] a::text').extract()[0]

但我只是在<a>内得到了文字。

我如何获得href内的链接

3 个答案:

答案 0 :(得分:49)

您正在寻找的是:

Link = Link1.css('span[class=title] a::attr(href)').extract()[0]

由于您还匹配span“class”属性,您甚至可以编写

Link = Link1.css('span.title a::attr(href)').extract()[0]

请注意::text伪元素和::attr(attributename)功能伪元素是 NOT 标准CSS3选择器。它们是Scrapy 0.20中CSS选择器的扩展。


编辑(2017-07-20):从Scrapy 1.0开始,您可以使用.extract_first()代替.extract()[0]

Link = Link1.css('span[class=title] a::attr(href)').extract_first()
Link = Link1.css('span.title a::attr(href)').extract_first()

答案 1 :(得分:6)

Link = Link1.css('span.title a::attr(href)').extract_first()

you can get more infomation from this

答案 2 :(得分:0)

这将完成工作:

Link = Link1.css('span.title a::attr(href)').extract()

Link将具有值:https://www.example.com