我正在寻找一种干净的方法来提取文本字符串中的所有URL。
经过广泛的搜索,我发现许多帖子建议使用正则表达式来完成这个任务,并给出了应该执行此操作的正则表达式。每个正则表达式都有一些优点和一些缺点。此外,编辑它们以更改它们的行为并不直观。无论如何,在这一点上,我对任何能够正确检测此文本中的URL的正则表达式感到满意:
输入:
Lorem ipsum dolor sit amet https://www.lorem.com/ipsum.php?q=suas, nusquam tincidunt ex per, ius modus integre no, quando utroque placerat qui no. Mea conclusionemque vituperatoribus et, omnes malorum est id, pri omnes atomorum expetenda ex. Elit pertinacia no eos, nonumy comprehensam id mei. Ei eum maiestatis quaerendum https://www.lorem.org. Pri posse constituam in, sit http://news.bbc.co.uk omnium assentior definitionem ei. Cu duo equidem meliore qualisque。
输出:
['https://www.lorem.com/ipsum.php?q=suas', 'https://www.lorem.org', 'http://news.bbc.co.uk']
但是,如果有一个Python3类/函数/库,可以在给定文本中查找所有URL并接受参数来:
- 选择要检测的协议
- 选择允许的TLD
- 选择允许的域名
我会非常高兴知道它。