import urllib.request

def obtenir_page_web(url):
    try:
        with urllib.request.urlopen(url) as response:
            html = response.read()
            return html.decode('utf-8', errors='ignore')
    except Exception as e:
        print("Erreur lors de la récupération :", e)
        return None

def extraire_liens(html):
    liens = []
    index = 0
    while True:
        debut = html.find('<a href="', index)
        if debut == -1:
            break
        debut += len('<a href="')
        fin = html.find('"', debut)
        if fin == -1:
            break
        lien = html[debut:fin]
        liens.append(lien)
        index = fin + 1
    return liens

def extraire_titres(html):
    titres = {}

    # Extraire <title>
    debut = html.find('<title>')
    fin = html.find('</title>')
    if debut != -1 and fin != -1 and fin > debut:
        titre = html[debut+len('<title>'):fin].strip()
        titres['title'] = titre
    else:
        titres['title'] = None

    # Extraire tous les <h1>
    h1s = []
    index = 0
    while True:
        debut = html.find('<h1>', index)
        if debut == -1:
            break
        fin = html.find('</h1>', debut)
        if fin == -1:
            break
        h1 = html[debut+len('<h1>'):fin].strip()
        h1s.append(h1)
        index = fin + len('</h1>')
    titres['h1'] = h1s if h1s else None

    return titres

print("=== Analyseur HTML amélioré ===")
url = input("Entrez une URL (ex: https://example.com): ")

if not url.startswith("http"):
    url = "https://" + url

page_html = obtenir_page_web(url)

if page_html:
    liens = extraire_liens(page_html)
    titres = extraire_titres(page_html)

    print("\nTitre de la page :", titres['title'] if titres['title'] else "Non trouvé")
    
    if titres['h1']:
        print("Titres H1 trouvés :")
        for h1 in titres['h1']:
            print("-", h1)
    else:
        print("Aucun titre H1 trouvé.")

    if liens:
        print("\nLiens trouvés sur la page :")
        for lien in liens:
            print("-", lien)
    else:
        print("Aucun lien trouvé sur la page.")
else:
    print("Impossible de récupérer la page.")
