Scrapy не может извлечь текст - PullRequest
0 голосов
/ 28 сентября 2018

я пользуюсь учебным пособием, но я застрял на каком-то веб-сайте, который я использую: 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>'

Мне нужно извлечь Мухаммеда Саида Эль Захлана

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()

Дайте мне подсказку

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вот ваше 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()
0 голосов
/ 28 сентября 2018

использование

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

Вывод:

' Muhammad Said El Zahlan\t\t'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...