#python #python_27
У меня есть список, в списке к примеру адреса по такому типу: https://www.example.com/releases?release_type=stock_exchange_release https://www.example.org/our-services/services-near-me https://example.hu/en/ https://example.pitt.edu/en/ http://www.example.org.uk/index.php/blog?tid=Al Как с помощью регулярных выражений вытащить из списка www.example.com www.example.org example.hu www.example.org.uk и т.п?
Ответы
Ответ 1
Лучше воспользоваться специально предназначенным для этого инструментом: try: from urllib.parse import urlparse # Python 3.x except ImportError: from urlparse import urlparse # Python 2.x urls = ['https://www.example.com/releases?release_type=stock_exchange_release' 'https://www.example.org/our-services/services-near-me', 'https://example.hu/en/', 'https://example.pitt.edu/en/', 'http://www.example.org.uk/index.php/blog?tid=Al'] res = [urlparse(u).netloc for u in urls] print(res) результат: ['www.example.com', 'example.hu', 'example.pitt.edu', 'www.example.org.uk']Ответ 2
Можно попробовать посплитить по слешам: 'http://example.com/asdasd'.split('/')[2] # example.comОтвет 3
from re import findall s = '''https://www.example.com/releases?release_type=stock_exchange_release https://www.example.org/our-services/services-near-me https://example.hu/en/ https://example.pitt.edu/en/ http://www.example.org.uk/index.php/blog?tid=Al''' print findall('https?://([^/]+)', s)
Комментариев нет:
Отправить комментарий