使用python从javascript文本中提取url

时间:2017-12-31 14:49:18

标签: python regex linux anaconda

我正在使用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>

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

我正在尝试这个表达式:

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

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

1 个答案:

答案 0 :(得分:1)

如果您想使用findall查找网址,可以使用捕获组:

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

<强>解释

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

Demo