forked from CPTNPatenaude/edm4466-devoir3.py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathedm4466-devoir3.py
55 lines (40 loc) · 1.6 KB
/
edm4466-devoir3.py
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
# coding : utf-8
#ce code permet de creer un csv avec tous les urls des archives du site actualite.uqam
#commandes de bases pour le log-in et la creation du csv
import requests, csv
from bs4 import BeautifulSoup
#liste des urls des articles
contenu = list()
#creation d'une entête
entetes = {
"User-Agent":"Francois-Alexis Favreau:Étudiant journalisme UQAM"
}
#boucle pour consulter toutes les pages d'archives (576 au moment de realiser ce travail)
for i in range(0, 576):
#test pour definir l'url de la page suivante
if i == 0:
url = "https://www.actualites.uqam.ca/toutes-les-archives"
elif i > 0:
url = "https://www.actualites.uqam.ca/toutes-les-archives?page={}".format(i)
#vérification qua chaque page fonctionne
print(url)
page = requests.get(url, headers=entetes)
print("Les articles de cette page se retrouvent dans la liste")
soup = BeautifulSoup(page.text, 'html.parser')
#vérification du statut, 200=ok
#print(page.status_code)
#view-content contient le corps de la page
article = soup.find(class_="view-content")
#on va chercher les titres
titres = article.find_all("h4")
#pour chaque titre, aller chercher le href (url)
for titre in titres:
elem = titre.find('a')
lien = elem.get('href')
contenu.append(lien)
#creation d'un csv qui contient chaque url
with open('archives.csv', 'w', newline='') as file:
writer = csv.writer(file)
for occ in contenu:
writer.writerow([occ])
print("Les articles se retrouvent dans archives.csv")