Spaces:
Sleeping
Sleeping
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]) | |