python- проверка домена сайта в URL
Поэтому я пытаюсь создать приложение, которое будет искать в Google, сохранять каждую ссылку на результат в текстовом файле, а затем сканировать каждую страницу этих веб-сайтов с помощью BeautifulSoup4 в поисках контактной страницы.
он найдет страницу контактов, если она contact
или же צור-קשר
который в основном "контакт" на иврите (просто объяснение кода)..
я узнал, что некоторые URL будут выглядеть так: :////contact-us/
и некоторые как это: https://www.geektime.co.il/contact/
поэтому я попытался найти домен веб-сайта следующим образом при сканировании: domain = base_url = "{0.scheme}://{0.netloc}/".format(urlsplit(link))
(я нашел этот кусок кода в Stackru..)
но когда я пытаюсь проверить, находится ли домен в URL-адресе, чтобы узнать, что печатать, что-то идет не так, как надо.
буду признателен за любую помощь.
Кстати, комментарии на иврите, не видел смысла переводить их, поэтому извините, если кому-то это нужно
мой код:
from google import search
from urllib.parse import urlsplit
import requests
from bs4 import BeautifulSoup
#================השגת הקישורים מגוגל=====================
with open("google links.txt", 'w') as file:
file.writelines("")
with open("contact_url.txt", 'w') as file:
file.writelines("")
file= open("google links.txt",'a')
for url in search('מציאת חברים', stop=150,lang='he'):
file.writelines(url+"\n ")
file.close()
# מוחק את השורה האחרונה (שורה ריקה)
with open('google links.txt', 'r') as file:
data = file.read()
with open('google links.txt', 'w') as file:
file.write(data[:-1])
#=============פתיחת כל קישור בנפרד=======================
file=open('google links.txt','r')
for link in file:
try:
if link == "":
continue
domain = base_url = "{0.scheme}://{0.netloc}/".format(urlsplit(link))
source_code = requests.get(link)
plain_text = source_code.text
text = BeautifulSoup(plain_text, 'html.parser')
for contact_link in text.findAll('a'):
href = str(contact_link.get('href'))
if ('contact' or 'צור' or "צור-קשר") in href:
if (domain not in href):
print(domain+href)
elif domain in href:
print(href)
except Exception:
continue