【发布时间】:2017-01-10 16:11:26
【问题描述】:
我要废弃的 html 如下所示:
<a class="mobile_board_link" href="board.php"><b>...</b></a>
我为元素创建了以下 CSS 选择器:
.mobile_board_link a::attr(href)
但如果我在scrapy shell 中执行它,它甚至找不到任何带有移动板链接的a 元素。我做错了什么?
【问题讨论】:
-
改用
a.mobile_board_link -
它甚至没有找到元素。 [href] 是 ::atr() 的替代语法吗?
-
对不起。查看我修改后的评论
-
您在哪里找到
::attr(..)语法?这是错误的。属性的正常 CSS 语法确实是[href]。或者这是一个 Scrappy 扩展? -
@Mr Lister:它是 Scrapy 的一部分。它以字符串形式返回给定属性的值(尽管您在选择后仍需要使用 .extract() 提取此字符串)。有趣的是,它出现在名为Non-element Selectors 的 CSSWG 草案中,尽管我确信它很久以前就存在于 Scrapy 中。
标签: html web-scraping css-selectors scrapy