Как бы вы разделяете доменное имя, которое будет возвращать имя и расширениепитон доменное имя Раскол имя и расширение
ответ
domain = 'subdomain.domain.ext'
name, ext = domain.split('.')[-2:]
Не удается найти http://www.google.co.uk/. –
Вы имеете в виду Интернет доменное имя, как www.stackoverflow.com? Если это так, то просто использовать:
>>> 'www.stackoverflow.com'.rsplit('.', 1)
['www.stackoverflow', 'com']
В зависимости от приложения, будет немного опасаться просто принимать участие, следующего за последним «». Это отлично подходит для .com, .net, .org и т. Д., Но, скорее всего, упадет для многих County Code TLD. Например. bit.ly или google.co.uk.
(я имею в виду «bit.ly», вероятно, предпочитают, чтобы идентифицировать включая в .ly TLD, тогда как Google, вероятно, не хотите быть идентифицированы с помощью поддельного .co остатка. Независимо от того, что важно, очевидно, зависит от того, что вы делаете).
В этих сложных случаях ... ну, у вас есть вырезанная работа, я подозреваю!
Надежный ответ, вероятно, будет зависеть от того, как вы собираете/храните свои домены и что вы действительно хотите вернуть в качестве «имени».
Например, если у вас есть набор доменных имен, без субдомена информации, то вы могли бы делать противоположное тому, что было предложено выше, и просто взять первую часть от:
>>> "stackoverflow.com".split('.')[0]
'stackoverflow'
Если вы всегда хочу, чтобы получить последнюю часть доменного имени, вы можете:
subdomain, _, domain= fqdn.rpartition('.')
Я думаю, вы найдете urlparse
модуль интересного: http://docs.python.org/library/urlparse.html
В общем, нелегко определить, где заканчивается зарегистрированный пользователем бит и начинается бит реестра. Например: a.com, b.co.uk, c.us, d.ca.us, e.uk.com, f.pvt.k12.wy.us ...
Приятные люди в Mozilla у вас есть проект, посвященный суффиксам доменов для регистрации, в соответствии с которыми публика может регистрировать домены: http://publicsuffix.org/
Ничего себе, здесь есть много плохих ответов. Вы можете только сделать это, если знаете, что находится в списке суффикса. Если вы используете split
или регулярное выражение или что-то еще, вы делаете это неправильно.
К счастью, это питон, и есть библиотека для этого: https://pypi.python.org/pypi/tldextract
С их ридми:
>>> import tldextract
>>> tldextract.extract('http://forums.news.cnn.com/')
ExtractResult(subdomain='forums.news', domain='cnn', suffix='com')
ExtractResult
является namedtuple. Делает это довольно легко.
- 1. Получить доменное имя и доменное имя домена
- 2. Получите чистое доменное имя и расширение
- 3. getRequestDispatcher и полное доменное имя
- 4. Получить доменное имя и суффикс
- 5. Доменное имя и время разработки
- 6. Доменное имя и route53 issue
- 7. SQL раскол имя сервера
- 8. Как разбить доменное имя на sld и tld (расширение)?
- 9. Перевод домена NETBIOS в полное доменное имя (полное доменное имя)
- 10. Как разбить доменное имя?
- 11. Как получить доменное имя?
- 12. Действительно доменное имя
- 13. Подтвердить доменное имя PHP
- 14. Подтвердить доменное имя
- 15. PHP FILTER_SANITIZE_URL доменное имя
- 16. PHP-сайт доменное имя
- 17. Пользовательское доменное имя Firebase
- 18. phpmyadmin доменное имя
- 19. Aquire определенное доменное имя
- 20. Доменное имя припаркован.
- 21. Назначить доменное имя контейнеру
- 22. Apache VirtualHost - доменное имя
- 23. Перенаправить второе доменное имя?
- 24. Как найти доменное имя
- 25. Rails - удаленное доменное имя
- 26. Как удалить доменное имя?
- 27. кириллица доменное имя
- 28. Доменное имя regex
- 29. доменное имя prefix 'www'
- 30. .htaccess - перенаправить доменное имя
Этот вопрос stackoverflow может быть полезен: http://stackoverflow.com/questions/1066933/python-extract-domain-name-from-url –