File size: 3,375 Bytes
0dde60e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import requests
from bs4 import BeautifulSoup

# URL du sitemap principal
sitemap_url = "https://falasteenifoodie.com/sitemap_index.xml"

def get_raw_sitemap(url):
    """Fonction pour obtenir le contenu brut du sitemap principal avec User-Agent"""
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
    }
    try:
        response = requests.get(url, headers=headers)
        response.raise_for_status()  # Vérifier que la requête a réussi (code 200)
        return response.content
    except requests.exceptions.RequestException as e:
        print(f"Erreur lors de la récupération du sitemap {url}: {e}")
        return None

# Extraire le contenu brut du sitemap principal
sitemap_content = get_raw_sitemap(sitemap_url)

if sitemap_content:
    soup = BeautifulSoup(sitemap_content, "lxml-xml")
    # Afficher les premières lignes du sitemap pour inspecter sa structure
    print(soup.prettify()[:500])  # Afficher les 500 premiers caractères pour voir la structure

    # Extraire toutes les URLs (loc) dans le sitemap
    main_sitemap_urls = [loc.text for loc in soup.find_all("loc")]
    print("URL du sitemap principal :", main_sitemap_urls)
else:
    print("Impossible de récupérer le sitemap principal.")
import requests
from bs4 import BeautifulSoup

def get_urls_from_sitemap(url):
    """Fonction pour extraire toutes les URLs d'un sitemap donné avec User-Agent"""
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
    }
    try:
        response = requests.get(url, headers=headers)
        response.raise_for_status()  # Vérifier que la requête a réussi (code 200)
        soup = BeautifulSoup(response.content, "lxml-xml")
        urls = [loc.text for loc in soup.find_all("loc")]
        return urls
    except requests.exceptions.RequestException as e:
        print(f"Erreur lors de la récupération du sitemap {url}: {e}")
        return []

# Liste des sitemaps extraits du sitemap principal
sitemaps = [
    "https://falasteenifoodie.com/post-sitemap.xml",
    "https://falasteenifoodie.com/post_tag-sitemap.xml",
    
    "https://falasteenifoodie.com/author-sitemap.xml",
    "https://falasteenifoodie.com/category-sitemap.xml"
    
]

# Dictionnaires pour stocker les URLs classées
posts_urls = []
categories_urls = []

# Extraire les URLs de chaque sitemap et les trier
for sitemap in sitemaps:
    print(f"Extraction des URLs du sitemap: {sitemap}")
    sitemap_urls = get_urls_from_sitemap(sitemap)
    print(f"Nombre d'URLs extraites de {sitemap}: {len(sitemap_urls)}")
    
    # Classer les URLs en posts ou categories
    for url in sitemap_urls:
        if "category" in url:
            categories_urls.append(url)  # Ajouter à la liste des catégories
        else:
            posts_urls.append(url)  # Ajouter à la liste des posts

# Afficher les résultats
print(f"Total des URLs de posts: {len(posts_urls)}")
print(f"Total des URLs de catégories: {len(categories_urls)}")

# Afficher un échantillon des URLs
print("Exemple d'URLs de posts :", posts_urls[:5])
print("Exemple d'URLs de catégories :", categories_urls[:5])