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

0 ответов

Другие вопросы по тегам