Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
Attrap-pref84
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneur
Opération
Modules Terraform
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Conditions générales et politique de confidentialité
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
astroidgritty
Attrap-pref84
Validations
64b7dc1e
Valider
64b7dc1e
rédigé
il y a 11 mois
par
Bastien Le Querrec
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
RAAspotter: relance les requêtes en timeout
Fixes
#9
parent
f677fc7d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
RAAspotter.py
+17
-8
17 ajouts, 8 suppressions
RAAspotter.py
RAAspotter_ppparis.py
+1
-3
1 ajout, 3 suppressions
RAAspotter_ppparis.py
avec
18 ajouts
et
11 suppressions
RAAspotter.py
+
17
−
8
Voir le fichier @
64b7dc1e
...
...
@@ -10,6 +10,7 @@ import datetime
from
urllib.parse
import
quote
from
selenium
import
webdriver
from
selenium.common.exceptions
import
TimeoutException
from
selenium.webdriver.common.by
import
By
from
selenium.webdriver.support.wait
import
WebDriverWait
from
selenium.webdriver.support
import
expected_conditions
...
...
@@ -239,7 +240,7 @@ class RAAspotter:
return
False
# On démarre le navigateur
def
get_session
(
self
,
url
,
wait_element
=
""
):
def
get_session
(
self
,
url
,
wait_element
,
remaining_retries
=
0
):
webdriver_options
=
webdriver
.
ChromeOptions
()
webdriver_options
.
add_argument
(
"
--no-sandbox
"
)
webdriver_options
.
add_argument
(
"
--disable-extensions
"
)
...
...
@@ -261,17 +262,25 @@ class RAAspotter:
# Téléchargement de l'URL
browser
.
get
(
url
)
if
not
wait_element
==
""
:
if
wait_element
is
not
None
:
# On attend que le navigateur ait passé les tests anti-robots et
# que le contenu s'affiche
WebDriverWait
(
browser
,
120
).
until
(
expected_conditions
.
presence_of_element_located
(
(
By
.
ID
,
wait_element
try
:
WebDriverWait
(
browser
,
60
).
until
(
expected_conditions
.
presence_of_element_located
(
(
By
.
ID
,
wait_element
)
)
)
)
except
TimeoutException
as
exc
:
logger
.
warning
(
f
'
TimeoutException:
{
exc
}
'
)
if
remaining_retries
>
0
:
return
self
.
get_session
(
url
,
wait_element
,
(
remaining_retries
-
1
))
else
:
raise
TimeoutException
(
exc
)
page_content
=
browser
.
page_source
# On récupère les cookies du navigateur pour les réutiliser plus tard
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
RAAspotter_ppparis.py
+
1
−
3
Voir le fichier @
64b7dc1e
...
...
@@ -24,7 +24,7 @@ class RAAspotter_ppparis(RAAspotter):
self
.
print_output
(
f
'
Termes recherchés:
{
keywords
}
'
)
self
.
print_output
(
''
)
page_content
=
self
.
get_session
()
page_content
=
self
.
get_session
(
self
.
__RAA_PAGE
,
self
.
__WAIT_ELEMENT
,
3
)
raa_elements
=
self
.
get_raa_elements
(
page_content
)
self
.
parse_raa
(
raa_elements
,
keywords
.
split
(
'
,
'
))
self
.
mailer
()
...
...
@@ -52,5 +52,3 @@ class RAAspotter_ppparis(RAAspotter):
elements
.
append
(
raa
)
return
elements
def
get_session
(
self
):
return
super
().
get_session
(
self
.
__RAA_PAGE
,
self
.
__WAIT_ELEMENT
)
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter