Maryem2025's picture
Upload test.py
0dde60e verified
raw
history blame
3.38 kB
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])