Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

Как с помощью регулярных выражений вытащить адрес сайта?

#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)

Комментариев нет:

Отправить комментарий