J'essaye d'extraire l'URL d'un fichier qui a le format suivant.
wwwqa.xyz.abc.com origin.xyz.abc.com wwwmg4.xyz.abc.com
J'ai trouvé le script python mais en cela, j'obtiens l'URL et l'IP mais je besoin de la seule URL.
wwwqa.xyz.abc.com 1.1.1.1 origin.xyz.abc.com 1.1.1.1 wwwmg4.xyz.abc.com 1.1.1.1
après avoir exécuté le script, j'obtiens la sortie suivante.
import re file_path = input("Enter the File Path: ") f = open(file_path, 'r') raw_text= str(f.readlines()) f.close() domain = r"\b((?:https?://)?(?:(?:www\.)?(?:[\da-z\.-]+)\.(?:[a-z]{2,6})|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|(?:(?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(?::[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(?:ffff(?::0{1,4}){0,1}:){0,1}(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(?:[0-9a-fA-F]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])))(?::[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])?(?:/[\w\.-]*)*/?)\b" foundip = re.findall( domain, raw_text ) for ip in foundip: print(ip)
Résultat souhaité.
[CertSpotter] wwwqa.xyz.abc.com,1.1.1.1 [CertSpotter] origin.xyz.abc.com,1.1.1.1 [CertSpotter] wwwqa.xyz.abc.com,1.1.1.1 [CertSpotter] wwwmg4.xyz.abc.com,1.1.1.1
Quelqu'un peut-il m'aider à comprendre cela?
Merci
3 Réponses :
Sans Regex. En utilisant uniquement les méthodes str
.
Ex:
wwwqa.xyz.abc.com origin.xyz.abc.com wwwqa.xyz.abc.com wwwmg4.xyz.abc.com
Sortie: p>
with open(filename) as infile: for line in infile: val = line.strip().split()[-1].split(",")[0] print(val)
merci pour la solution qui a fonctionné pour moi. Maintenant, je vais faire les modifications ultérieures.
['wwwqa.xyz.abc.com', 'origin.xyz.abc.com', 'wwwqa.xyz.abc.com', 'wwwmg4.xyz.abc.com']
['wwwqa.xyz.abc.com', 'origin.xyz.abc.com', 'wwwqa.xyz.abc.com', 'wwwmg4.xyz.abc.com']
il vous suffit de vous assurer que le motif a une fin de correspondance
com $
@MikeTung mais si j'ajoute le com $, il vérifiera net les domaines .net ou .org, etc. J'ai besoin de vérifier toutes les extensions.