使用css选择器

时间:2017-04-13 09:59:44

标签: python-2.7 web-scraping css-selectors scrapy

我正在尝试从论坛帖子中提取文本,但粗体元素会被忽略。

如何提取原始数据,例如Some text to extract bold content?目前我只获取Some text to extract ?

<blockquote class="messageText SelectQuoteContainer ugc baseHtml">
Some text to extract <b>bold content</b>?
</blockquote>
def parse_page(self, response):
    for quote in response.css('article'):
        yield {
            'text': quote.css('blockquote::text').extract()
        }

2 个答案:

答案 0 :(得分:1)

你的css选择器需要一个空格:

'blockquote ::text'
           ^

因为你想要在blockquote下的每个降序节点text,没有空格,它只意味着blockquote节点的文本。

答案 1 :(得分:0)

使用*选择器选择元素内所有内部元素的文本。

''.join([ a.strip() for a in quote.css('blockquote *::text').extract() ])