CSS Selector 获取元素属性值
Posted
技术标签:
【中文标题】CSS Selector 获取元素属性值【英文标题】:CSS Selector to get the element attribute value 【发布时间】:2014-09-19 04:22:36 【问题描述】:html结构是这样的:
<td class='hey'>
<a href="https://example.com">First one</a>
</td>
这是我的选择器:
m_URL = sel.css("td.hey a:nth-child(1)[href] ").extract()
我的选择器现在将输出<a href="https://example.com">First one</a>
,但我只希望它输出链接本身:https://example.com
。
我该怎么做?
【问题讨论】:
【参考方案1】:你可以试试这个:
m_URL = sel.css("td.hey a:nth-child(1)").xpath('@href').extract()
【讨论】:
所以css不能不做吗?因为我是用xpath写的。并想练习如何翻译成css【参考方案2】:从a
标记中获取::attr(value)
。
演示(使用Scrapy shell):
$ scrapy shell index.html
>>> response.css('td.hey a:nth-child(1)::attr(href)').extract()
[u'https://example.com']
其中index.html
包含:
<table>
<tr>
<td class='hey'>
<a href="https://example.com">Fist one</a>
</td>
</tr>
</table>
【讨论】:
以上是关于CSS Selector 获取元素属性值的主要内容,如果未能解决你的问题,请参考以下文章
CSS一个元素同时使用多个类选择器(class selector)