Выход из цитаты в xpath (скрипт на python) - PullRequest
0 голосов
/ 01 февраля 2019

Я делаю скрипт scapy, использующий xpath, для сбора информации о некоторых страницах.Я хотел бы извлечь URL из JavaScript:

<div class="is-hidden-mobile blEntry menu ui_link" data-column="3" onclick="widgetEvCall('handlers.onMenuClicked', event, this, 'http://www.zzz.com/')">
    <span class="ui_icon menu"></span>
    <span class="detail">Menu </span>
</div>

Итак, я проверяю эту команду:

substring-before(substring-after(//@onclick, "'handlers.onMenuClicked', event, this, '"),"'")

И она работает в тестере Xpath.

Нокогда я помещаю это в свой скрипт на python, у меня возникает проблема с кавычками.Поэтому я попытался поставить обратную косую черту, но она не работает:

website =  response.xpath('substring-before(substring-after(//@onclick, "\'handlers.onMenuClicked\', event, this"),"\'")').extract()

Я смотрю в Интернете, но не вижу ответа: S.Я думаю, что мой сценарий усложняет и может быть упрощен, но я не знаю, как XD.Или, может быть, есть решение, чтобы в скрипте были простые кавычки ...

Спасибо за помощь REgards

1 Ответ

0 голосов
/ 06 февраля 2019

После 2 дней поиска я нашел ответ: D

response.xpath('//div[@class="is-hidden-mobile blEntry menu ui_link"]').re('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+')

Я беру весь ответ xpath и извлекаю URL с регулярным выражением.

С уважением

...