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])