使用python从javascript文本中提取url

问题描述 投票:-3回答:1

我正在使用python和beautifulsoup来解析对象,我正在尝试使用re.findall提取url

<a class="btn btn-danger btn-sm" href="javascript: void(0);"
onclick="if (confirm('Delete link
http://gorillavid.in/8538jm5bptgd')) { removeLink(71603335); }"><i
class="fa fa-trash "></i></a>

我正在尝试提取url https://gorillavid.in/97ylvj76qjeh

我正在尝试这个表达式:

re.search("Delete link\s* (.*?)',", data).group(1)
re.findall(r'(https?://[^\s]+)', link)

它给了我错误,它不是一个字符串。

python regex linux anaconda
1个回答
1
投票

如果要使用findall查找URL,可以使用捕获组:

'Delete link\s+(.+?)(?=')

说明

  • 匹配'删除链接
  • 匹配一个或多个空格\s+
  • 在一个组中捕获任何一个或多个字符都没有贪心(这包含你要查找的值)
  • 积极的lookahead(?=
  • 其中断言接下来是'
  • 关闭积极前瞻)

Demo

© www.soinside.com 2019 - 2024. All rights reserved.