scrapy 从scrappy中的javascript onclick元素获取url

ozxc1zmp  于 2022-11-09  发布在  Java
关注(0)|答案(1)|浏览(191)

我想从onclick javascript函数中获取href url。
这是我的按钮元素:

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

有人能帮我吗?

eqzww0vc

eqzww0vc1#

您可以使用css selector获取onclick属性值,然后使用regex提取url。
大概是这样的:

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

相关问题