Как выполнить корреляцию у саранчи - PullRequest
0 голосов
/ 09 января 2020

У меня есть правая граница класса div = product-item data-productid = и левая граница> Как я могу выполнить корреляцию в саранче.

response.text действительно дает мне полный ответ, но мне нужно извлечь значение из вышеуказанных границ

Как это сделать?

1 Ответ

0 голосов
/ 10 января 2020

Есть много вариантов.

Вы можете проанализировать и затем запросить документ html, используя XPath, например, используя L XML (https://docs.python-guide.org/scenarios/scrape/).

from lxml import html
...
    @task
    my_task(self):
        response = self.client.post(...)
        tree = html.fromstring(response.text)
        # <div title="buyer-name">Carson Busses</div>
        # <span class="item-price">$29.95</span> 
        buyers = tree.xpath('//div[@title="buyer-name"]/text()')

(I не тестировали этот код:)

Другой вариант - использовать встроенные в синтаксический анализатор HTML питоны, но, вероятно, для этого варианта использования это сложнее (https://docs.python.org/3/library/html.parser.html)

Вы также можете использовать регулярное выражение для быстрого и грязного решения:

import re
message_regex = re.compile(r"...") # use a regex that actually matches your desired text
...
    @task
    my_task(self):
        response = self.client.post(...)
        m = message_regex.match(response.text)
        my_value = m.group(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...