CSS选择器找不到提供类的元素

时间:2017-01-08 09:41:30

标签: html web-scraping css-selectors scrapy

我想要废弃的HTML看起来像这样:

<a class="mobile_board_link" href="board.php"><b>...</b></a>

我为元素创建了以下css选择器:

.mobile_board_link a::attr(href)

但是如果我在scrapy shell中执行它,它甚至找不到任何带有类移动板链接的元素。我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是你的选择器:

.mobile_board_link a::attr(href)

问题:

  • space意味着后代,所以你试图找到.mobile_board_link内的锚点而不是找到该类的锚点
  • 斜体文字,后面的内容是错误的,正如评论部分所指出的那样,它反映在底部的这篇帖子中,正如评论中已经指出的那样您需要的部分[href]而不是::attr(href)

这就是你的选择器应该是这样的:

a[href].mobile_board_link

编辑:

显然,::attr(href)在Scrapy中是正确的,因此这是一个正确的选择器:

a.mobile_board_link::attr(href)