Есть ли способ получить полное имя атрибута из частичного поиска и сохранить его как переменную? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть

<div id="post_message_NUMBER">
                    Text 
</div>

, который я нахожу с помощью поиска xpath, используя [id(contains, "post_message")], и я хотел бы сохранить post_message_NUMBER, чтобы сделать второй, более конкретный запрос c с использованием переменной или %s, чтобы заполнить его, но я не знаю, какую команду использовать для получения полного имени идентификатора, а не текста или значения из документа.

Я думал сделать что-то вроде ID = #get the full id name, а затем Content = XS.xpath('[contains(@id, "%s")]//b//text()% ID)').getall(), где начало xpath уже сохранено как XS.

Будет ли это работать? Я никогда раньше не использовал %s для любого ввода.

1 Ответ

0 голосов
/ 17 июня 2020

Предполагая, что вы используете Scrapy и Python 3, это должно работать (я исправил ваши выражения XPath и объявление переменной):

id = response.xpath('//html//div[contains(@id, "post_message")]/@id').get()
xs = response.xpath('//html//div[contains(@id, "%s")]/text()'%str(id)).getall()
print(*xs, sep='\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...