Для этого может потребоваться пара шагов и некоторые знания в регулярном выражении.
1: Используйте модуль urllib для извлечения атрибута netloc
(сетевого расположения) URL-адреса.
Для https://www.tahoedailytribune.com/south-shore/ это www.taheodailytribune.com.
from urllib.parse import urlparse
# urlparse splits the url into separate components:
# parse_object: ParseResult(scheme='https', netloc='www.tahoedailytribune.com', path='/south-shore/', params='', query='', fragment='')
parse_object = urlparse("https://www.tahoedailytribune.com/south-shore/")
# Get the network location
network_loc = getattr(parse_object, "netloc")
2: теперь используйте регулярное выражение для захвата всего между www
и .com
Это regex не обслуживает сайты, использующие суффиксы с указанием страны c, т.е. .co.uk
, .com.au
et c
import re
# Pre compiled regex
# ?: means to not capture the group
# Regex permalink: https://regex101.com/r/yxrsr8/1
pattern = re.compile("^(?:www\.)?(\S+)(?:\.com)$")
# regex object if match else None
re_obj = re.match(pattern, network_loc)
if re_obj is not None:
# site_name: tahoedailytribune
site_name = re_obj.group(1)
else:
print("Could not get site name")