首页 > 解决方案 > Scrapy 无法提取文本

问题描述

我正在使用学习scrapy,但我停留在我使用的网站是https://wordpress.org/plugins/tags/category-image/

我正在提取网页上的某些文本我使用休闲命令

fetch("https://wordpress.org/plugins/tags/category-image/")
response.xpath('//*[@class="plugin-author"]').extract_first()

输出 :

'<span class="plugin-author">\n\t\t\t<i class="dashicons dashicons-admin-users"></i> Muhammad Said El Zahlan\t\t</span>'

我需要提取 Muhammad Said El Zahlan

response.xpath('//*[@class="plugin-author"]/text()').extract_first()

输出:

'\n\t\t\t'

response.xpath('//*[@class="plugin-author"]/@span/text()').extract_first()

response.xpath('//*[@class="plugin-author"]/@span').extract_first()

response.xpath('//*[@class="plugin-author"]/@text()').extract_first()

给我一些线索

标签: web-scrapingscrapyscrapy-spider

解决方案


这是你的 xml 树:

<span class="plugin-author">
    <i class="dashicons dashicons-admin-users">
    </i> Muhammad Said El Zahlan\t\t
</span>

换句话说,你想要span/i/text()

response.xpath('//span[@class="plugin-author"]/i/text()').extract()

span//text:(跨度下的任何文本)

response.xpath('//span[@class="plugin-author"]//text()').extract()

推荐阅读