You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pour cet exercice, nous vous demandons d'obtenir différentes informations sur les pokémons à partir du site internet [pokemondb.net](http://pokemondb.net/pokedex/national).
769
+
Pour cet exercice,
770
+
nous vous demandons d'obtenir différentes informations sur les pokémons
771
+
à partir du site internet [pokemondb.net](http://pokemondb.net/pokedex/national).
770
772
771
773
## Etape 1
772
774
773
-
Nous souhaitons tout d'abord obtenir les informations personnelles des ``893`` pokemons sur [pokemondb.net](http://pokemondb.net/pokedex/national). Les informations que nous aimerions obtenir au final pour les pokemons sont celles contenues dans 4 tableaux :
775
+
Nous souhaitons tout d'abord obtenir les
776
+
informations personnelles de tous
777
+
les pokemons sur [pokemondb.net](http://pokemondb.net/pokedex/national).
778
+
779
+
Les informations que nous aimerions obtenir au final pour les pokemons sont celles contenues dans 4 tableaux :
774
780
775
781
- Pokédex data
776
782
- Training
@@ -919,7 +925,7 @@ Nous aimerions que vous récupériez également les images des 5 premiers pokém
919
925
920
926
Idée : Utilisez les modules `request` et [`shutil`](https://docs.python.org/3/library/shutil.html)
921
927
922
-
_pour cette question, il faut que vous cherchiez de vous même certains éléments, tout n'est pas présent dans le TD_.
928
+
:warning:_Pour cette question, il faut que vous cherchiez de vous même certains éléments, tout n'est pas présent dans le TD_.
923
929
924
930
```{python}
925
931
#| include: false
@@ -950,7 +956,12 @@ for indice_pokemon in range(0,nb_pokemons) :
950
956
```{python}
951
957
#| echo: false
952
958
#plt.savefig('pokemon.png', bbox_inches='tight')
953
-
plt.show()
959
+
ax[0].get_figure()
960
+
```
961
+
962
+
```{python}
963
+
#| include: false
964
+
shutil.copyfile("bulbasaur.jpg", "featured.jpg")
954
965
```
955
966
956
967
{{% /box %}}
@@ -972,43 +983,80 @@ sur <a href="https://github.com/linogaliana/python-datascientist" class="github"
972
983
# `Selenium` : mimer le comportement d'un utilisateur internet
973
984
974
985
975
-
Jusqu'à présent, nous avons raisonné comme si nous connaissions toujours l'url qui nous intéresse. De plus, les pages que nous visitons sont "statiques", elles ne dépendent pas d'une action ou d'une recherche de l'internaute.
986
+
Jusqu'à présent,
987
+
nous avons raisonné comme si nous connaissions toujours l'url qui nous intéresse.
988
+
De plus, les pages que nous visitons sont "statiques",
989
+
elles ne dépendent pas d'une action ou d'une recherche de l'internaute.
990
+
991
+
Nous allons voir à présent comment nous en sortir pour remplir
992
+
des champs sur un site web et récupérer ce qui nous intéresse.
993
+
La réaction d'un site _web_ à l'action d'un utilisateur passe régulièrement par
994
+
l'usage de `JavaScript` dans le monde du développement _web_.
995
+
Le package [Selenium](https://pypi.python.org/pypi/selenium) permet
996
+
de reproduire, depuis un code automatisé, le comportement
997
+
manuel d'un utilisateur. Il permet ainsi
998
+
d'obtenir des informations du site qui ne sont pas dans le
999
+
code `HTML` mais qui apparaissent uniquement à la suite de
1000
+
l'exécution de script `JavaScript` en arrière plan.
976
1001
977
-
Nous allons voir à présent comment nous en sortir pour remplir des champs sur un site web et récupérer ce qui nous intéresse.
1002
+
`Selenium` se comporte comme un utilisateur lambda sur internet :
1003
+
il clique sur des liens, il remplit des formulaires, etc.
978
1004
979
-
L'avantage du package [Selenium](https://pypi.python.org/pypi/selenium) est d'obtenir des informations du site qui ne sont pas dans le code html mais qui apparaissent uniquement à la suite de l'exécution de script javascript en arrière plan.
1005
+
## Premier exemple en scrapant un moteur de recherche
980
1006
981
-
Selenium se comporte comme un utilisateur lambda sur internet : il clique sur des liens, il remplit des formulaires etc. Dans cet exemple, nous allons essayer de aller sur le site de [Bing Actualités](https://www.bing.com/news) et entrer dans la barre de recherche un sujet donné (Trump).
1007
+
Dans cet exemple, nous allons essayer de aller sur le
1008
+
site de [Bing Actualités](https://www.bing.com/news) et entrer dans la barre de recherche un sujet donné (__"Trump"__).
982
1009
983
-
L'installation de `selenium` nécessite d'avoir chromium qui est un
1010
+
L'installation de `Selenium` nécessite d'avoir `Chromium` qui est un
984
1011
navigateur Google Chrome minimaliste.
985
-
La version de [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/) doit être ``>= 2.36`` et dépend de la version de Chrome que vous avez sur votre poste.
1012
+
La version de [chromedriver](https://sites.google.com/a/chromium.org/chromedriver/)
1013
+
doit être `>= 2.36` et dépend de la version de `Chrome` que vous avez sur votre environnement
1014
+
de travail. Pour installer cette version minimaliste de `Chrome` sur un environnement
0 commit comments