Comment voulez-vous diviser un nom de domaine qui renvoie le nom et l'extensionpython nom split nom de domaine et l'extension
Répondre
domain = 'subdomain.domain.ext'
name, ext = domain.split('.')[-2:]
Echoue pour http://www.google.co.uk/. –
Vous voulez dire que le nom de domaine internet, comme www.stackoverflow.com? Si oui, alors il suffit d'utiliser:
>>> 'www.stackoverflow.com'.rsplit('.', 1)
['www.stackoverflow', 'com']
En fonction de votre demande, être un peu méfiant de prendre simplement la partie qui suit le dernier. ». Cela fonctionne bien pour .com, .net, .org, etc, mais tombera probablement pour de nombreux TLD County Code. Par exemple. bit.ly ou google.co.uk.
(je veux dire par « bit.ly » préfèrent probablement être identifié y compris le TLD .ly alors que google probablement ne pas veulent être identifiés avec un reste de .co faux. Que ce qui est important sera évidemment dépend de ce que vous faites).
Dans ces cas compliqués ... eh bien, vous avez votre travail découpé je soupçonne! Une réponse robuste dépendra probablement de la façon dont vous rassemblez/stockez vos domaines et de ce que vous voulez réellement obtenir en tant que «nom».
Par exemple, si vous avez un ensemble de noms de domaine, sans information sous-domaine, vous pouvez faire l'inverse de ce qui est suggéré ci-dessus et il suffit de prendre la première partie de:
>>> "stackoverflow.com".split('.')[0]
'stackoverflow'
Si vous veulent toujours obtenir la dernière partie d'un nom de domaine, vous pouvez:
subdomain, _, domain= fqdn.rpartition('.')
Je suppose que vous trouverez le module intéressant urlparse
: http://docs.python.org/library/urlparse.html
En général, il n'est pas facile de déterminer où le bit enregistré par l'utilisateur se termine et le bit de registre commence. Par exemple: a.com, b.co.uk, c.us, d.ca.us, e.uk.com, f.pvt.k12.wy.us ...
Les gens sympas chez Mozilla avoir un projet dédié à la liste des suffixes de domaine sous lesquels le public peut enregistrer des domaines: http://publicsuffix.org/
Wow, il y a beaucoup de mauvaises réponses ici. Vous pouvez seulement faire cela si vous savez ce qui est sur la liste des suffixes publics. Si vous utilisez split
ou une regex ou autre chose, vous vous trompez.
Heureusement, ce python est, et il y a une bibliothèque pour cela: https://pypi.python.org/pypi/tldextract
De leur readme:
>>> import tldextract
>>> tldextract.extract('http://forums.news.cnn.com/')
ExtractResult(subdomain='forums.news', domain='cnn', suffix='com')
ExtractResult
est un namedtuple. Ça rend la tâche plutôt facile.
- 1. Valider le nom de domaine
- 2. Rails - Nom de domaine distant
- 3. nom de domaine en cyrillique
- 4. Vérification de l'enregistrement d'un nom de domaine
- 5. Conversion de nom de domaine en nom de société?
- 6. Extraire le nom de domaine à partir d'un nom d'hôte
- 7. réécrire 301 remplacer le nom de domaine avec un nouveau nom de domaine
- 8. Comment obtenir le nom de domaine de l'adresse IP et l'adresse IP du nom de domaine dans Objective C?
- 9. Strip nom de domaine de url (string)
- 10. Création du vérificateur de nom de domaine
- 11. Créer URI avec le nom de la machine et le nom de domaine
- 12. Comment obtenir un nom de classe rubis et le nom de domaine sur des rails
- 13. nom de domaine dans l'URL comme variables
- 14. Autorisation Jquery refusée - nom de domaine différent
- 15. SMTP Configuration du nom de domaine complet
- 16. Rails trouvant le nom de domaine d'un domaine?
- 17. Htaccess .. changer le nom de domaine
- 18. Comment "pinguer" un nom de domaine?
- 19. Requête par nom de domaine dans cakephp
- 20. Comment supprimer le nom de domaine?
- 21. Récupérer nom de domaine et le chemin en utilisant ASP.net
- 22. comment configurerCookie et getCookie en utilisant le nom de domaine
- 23. Comment obtenir le domaine utilisateur \ nom d'utilisateur et nom d'affichage de SharePoint People Picker InternalId?
- 24. Nom de fichier dynamique Python
- 25. Rechercher un nom de domaine valide dans une chaîne?
- 26. Obtenez le nom d'un domaine Glassfish2
- 27. de Split un nom de fichier et de prendre une partie seulement pour
- 28. encoder le nom Netbios python
- 29. nom de fichier et numéro de ligne du script python
- 30. python, regex split et caractère spécial
Cette question stackoverflow peut être utile: http://stackoverflow.com/questions/1066933/python-extract-domain-name-from-url –