Maryem2025 commited on
Commit
0dde60e
·
verified ·
1 Parent(s): c71288a

Upload test.py

Browse files
Files changed (1) hide show
  1. test.py +84 -0
test.py ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ from bs4 import BeautifulSoup
3
+
4
+ # URL du sitemap principal
5
+ sitemap_url = "https://falasteenifoodie.com/sitemap_index.xml"
6
+
7
+ def get_raw_sitemap(url):
8
+ """Fonction pour obtenir le contenu brut du sitemap principal avec User-Agent"""
9
+ headers = {
10
+ "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"
11
+ }
12
+ try:
13
+ response = requests.get(url, headers=headers)
14
+ response.raise_for_status() # Vérifier que la requête a réussi (code 200)
15
+ return response.content
16
+ except requests.exceptions.RequestException as e:
17
+ print(f"Erreur lors de la récupération du sitemap {url}: {e}")
18
+ return None
19
+
20
+ # Extraire le contenu brut du sitemap principal
21
+ sitemap_content = get_raw_sitemap(sitemap_url)
22
+
23
+ if sitemap_content:
24
+ soup = BeautifulSoup(sitemap_content, "lxml-xml")
25
+ # Afficher les premières lignes du sitemap pour inspecter sa structure
26
+ print(soup.prettify()[:500]) # Afficher les 500 premiers caractères pour voir la structure
27
+
28
+ # Extraire toutes les URLs (loc) dans le sitemap
29
+ main_sitemap_urls = [loc.text for loc in soup.find_all("loc")]
30
+ print("URL du sitemap principal :", main_sitemap_urls)
31
+ else:
32
+ print("Impossible de récupérer le sitemap principal.")
33
+ import requests
34
+ from bs4 import BeautifulSoup
35
+
36
+ def get_urls_from_sitemap(url):
37
+ """Fonction pour extraire toutes les URLs d'un sitemap donné avec User-Agent"""
38
+ headers = {
39
+ "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"
40
+ }
41
+ try:
42
+ response = requests.get(url, headers=headers)
43
+ response.raise_for_status() # Vérifier que la requête a réussi (code 200)
44
+ soup = BeautifulSoup(response.content, "lxml-xml")
45
+ urls = [loc.text for loc in soup.find_all("loc")]
46
+ return urls
47
+ except requests.exceptions.RequestException as e:
48
+ print(f"Erreur lors de la récupération du sitemap {url}: {e}")
49
+ return []
50
+
51
+ # Liste des sitemaps extraits du sitemap principal
52
+ sitemaps = [
53
+ "https://falasteenifoodie.com/post-sitemap.xml",
54
+ "https://falasteenifoodie.com/post_tag-sitemap.xml",
55
+
56
+ "https://falasteenifoodie.com/author-sitemap.xml",
57
+ "https://falasteenifoodie.com/category-sitemap.xml"
58
+
59
+ ]
60
+
61
+ # Dictionnaires pour stocker les URLs classées
62
+ posts_urls = []
63
+ categories_urls = []
64
+
65
+ # Extraire les URLs de chaque sitemap et les trier
66
+ for sitemap in sitemaps:
67
+ print(f"Extraction des URLs du sitemap: {sitemap}")
68
+ sitemap_urls = get_urls_from_sitemap(sitemap)
69
+ print(f"Nombre d'URLs extraites de {sitemap}: {len(sitemap_urls)}")
70
+
71
+ # Classer les URLs en posts ou categories
72
+ for url in sitemap_urls:
73
+ if "category" in url:
74
+ categories_urls.append(url) # Ajouter à la liste des catégories
75
+ else:
76
+ posts_urls.append(url) # Ajouter à la liste des posts
77
+
78
+ # Afficher les résultats
79
+ print(f"Total des URLs de posts: {len(posts_urls)}")
80
+ print(f"Total des URLs de catégories: {len(categories_urls)}")
81
+
82
+ # Afficher un échantillon des URLs
83
+ print("Exemple d'URLs de posts :", posts_urls[:5])
84
+ print("Exemple d'URLs de catégories :", categories_urls[:5])