Итак, я пытаюсь больше узнать о Python веб-очистке и пытаюсь найти внешние ссылки только для определенной c функции. В книгах, которые я читаю, автор реализует это, просто удаляя «http: //» из строки, а затем проверяя, содержит ли новая ссылка новую строку (то есть доменное имя без предшествующего «http: //»). .
Я вижу, как этот код может потерпеть неудачу, и хотя я могу просто написать оператор if, он заставляет задуматься - есть ли способ сопоставить все ссылки, которые начинаются с "http", но не с "http ( s): //domain.com "? Я пробовал много разных решений регулярных выражений, которые, как я думал, будут работать, но они не работают. Например, переменная" site "содержит адрес ссылки.
re.compile("^((?!"+site+").)^http|www*$"))
re.compile("^http|www((?!"+site+").)*$"))
Результаты I get будет просто ссылками, которые начинаются с http или www and, это не то, что я намереваюсь сделать. Опять же, я могу реализовать это прекрасно с помощью оператора if и отфильтровать результаты, это не полный блокировщик, но я Мне интересно узнать о такой возможности