因此,我正在尝试更熟悉 Python 网络抓取,并且我正在尝试仅为特定功能查找外部链接。在我正在阅读的书中,作者通过简单地从字符串中删除“http://”然后查看新链接是否包含新字符串(这是没有前面的“http://”的域名来实现这一点.
我可以看到这段代码是如何失败的,虽然我可以简单地编写一个 if 语句,但它确实让我想知道 - 有没有办法匹配所有以“http”开头但不以“http(s)://domain. com”?我尝试了许多我认为可行的不同正则表达式解决方案,但它们没有。例如,变量“site”包含链接地址。
re.compile("^((?!"+site+").)^http|www*$"))
re.compile("^http|www((?!"+site+").)*$"))
我得到的结果只是所有以 http 或 www 开头的链接,这不是我打算做的。同样,我可以用 if 语句很好地实现它并过滤结果,这不是一个完整的阻止程序,但我很好奇这种可能性的存在
任何帮助,将不胜感激。我环顾网络,但找不到任何与我的用例相匹配的东西。