Обрезать сохранены url ссылки python
я отрезал (www. и .ru .com .rf), можно ли как то укоротить и упростить?
soup = BS(driver.page_source,'lxml')
orgs = soup.findAll('div', class_='g')
for org in orgs:#на страничках добавляем данные(Заголовок, ссылка)
name = org.find('h3',class_='LC20lb MBeuO DKV0Md').text.strip('...') # поиск заголовков
link = org.find('div',class_='yuRUbf').find('a').get('href')#поиск ссылок
if "http" in str(link) or "www" in str(link):
parsed = tldextract.extract(link)
parsed = ".".join([i for i in parsed if i])
if 'www.' in parsed:
if '.ru' in parsed:
print(parsed[4:-3])
elif '.com' in parsed:
print(parsed[4:-4])
else:
if '.ru' in parsed:
print(parsed[:-3])
elif '.rt.com' in parsed:
print(parsed[:-7])
elif '.com' in parsed:
print(parsed[:-4])
Ответы (1 шт):
Автор решения: Zhenia Kviatkivskyi
→ Ссылка
Вот кусок кода из учебного проекта, может пригодится чем-то. Обрезает все лишнее из разных url.
data = {"Website":""}
url = 'https://www.dropcontact.com/'
print('url компании : ',url)
if 'www.' in url :
index = url.find('.')
new_url = url[index + 1:]
if new_url.endswith('/'):
new_url = new_url.replace('/', '')
data["Website"]= new_url
else:
data["Website"] = new_url
if not 'www.'in url and url.endswith('/'):
url = url[:-1]
data["Website"] = url
if not 'www.' in url and not url.endswith('/') and not 'https://' in url and not 'http://' in url:
data["Website"] = url
if 'https://' in url and not 'www' in url or 'http://' in url and not 'www' in url:
index = url.find('//')
new_url = url[index + 2:]
if new_url.endswith('/'):
new_url = new_url.replace('/', '')
data["Website"] = new_url
else:
data["Website"] = new_url
print('*',data)