Получить URL из javascript элемента клика в scrapy - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу получить href url из функции onclick javascript.

Это мой элемент кнопки

<button class="module_bnt" onclick="window.location.href='https://someurl.org/module/'">  Click Here to Start Quiz</button>`

Это моя функция синтаксического анализа.

def parse(self, response):
    articles = response.xpath('//article')
    for article in articles:
        id = article.xpath('./@id').get()

        if id is not None:
            id = id.encode('utf-8') # converting to utf-8 and removing u character space in string

            moduleBnt = article.xpath('.//button[@class="module_bnt"]/a/@href').get()

            if moduleBnt is None:
                moduleBnt = article.xpath(".//button[@class="module_bnt"]/a/@onclick").extract_first()

Может кто-нибудь помочь мне в этом? Заранее спасибо.

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете получить значение атрибута onclick, используя селектор css, а затем использовать регулярное выражение для извлечения URL.

Примерно так:

url = response.css('.module_bnt::attr(onclick)').re('href='(.*)')[0]

Надеюсь, это поможет.

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