Vous avez déjà intégré du code de scraping avec une API comme HasData ? Je serais curieux d'entendre vos avis sur comment cela peut simplifier le processus.
Un grand bravo pour cette vidéo! Du code très propre, une vraie pédagogie même en utilisant des outils plus avancés... super intéressant!!! J'espère que tu continueras à faire des vidéos sur Python! Une seule façon de le savoir... je m'abonne! :)
@@Joycode_ bonjour, j'aimerais savoir si tu pourrais m'aider, car depuis ta vidéo, j'ai essayé de créer un script python me permettant d'aller sur le site nike et de mettre directement un produit dans mon panier, mais je bloque à la partie ou je dois accepter les cookies. il parait qu'il y a une "" mais rien à faire, je n'arrive pas passer cette étapes as-tu une technique ou bien une explication ?
Bonjour, encore une fois, super tuto !!! J'ai deux questions. Si on utilise webdriver avec Selenium, a-t-on besoin de changer son header ? Egalement, peut-on utilise un timeout au lieu de se servir d'un proxy ?
Merci pour cette vidéo, c'est très clair ! Je tente du scraping sur le site leboncoin, cependant je suis bloqué dès la première requête en passant par selenium. Est-ce que tu aurais une idée de la cause ?
Bonjour est-ce que tu pourrais m'expliquer quelle est la différence entre le fait d'utiliser une application ou d'utiliser un script python pour scrapper ?
bonjour joycode j'ai essayé votre code aujourd'hui mais la seul réponse que je recois quand je test mon user-agent (5 minutes 36) de la vidéo c'est . Est ce normal ?
Bravo! Vidéo claire et rapide avec de bonnes explications, la meilleure que j'ai pu trouver. Qu'est ce que tu utilises comme soft pour mettre en écran ton notebook de cette manière ?
Merci beaucoup ! J'utilise l'extension Rise pour transformer le notebook en présentation. Après j'ai modifié le CSS moi-même pour avoir ce rendu, à toi de jouer avec si tu veux ton propre look & feel 😊
Oui c'est un header donc on peut normalement le préciser au moment de la requête (GET, POST,...). Cela dit je n'ai pas testé pour voir si cela écrase bien le user-agent par défaut du driver utilisé (Firefox dans notre exemple).
Bonjour, super vidéo ! Merci pour l'explication. Cependant, pourquoi n'utilisons-nous pas Chrome directement au lieu de Firefox ? De plus, lorsque j'appuie sur F12, cela n'affiche rien, cela augmente simplement le volume.
Tu as probablement le Fn lock activé, appuie sur la touche Fn avant d'appuyer sur F12 :) C'est juste un exemple, on peut également utiliser un webdriver chrome ou chromium, les options seront juste un peu différentes.
Je ne connais pas de solution légale autre que de payer un service de proxy malheureusement. La difficulté est qu'il faut être capable de gérer les bans d'IP, donc c'est difficile à monter soi-même.
Hello, super clair!!! Bravo;))) Mon objectif est de réaliser un bot pour click (sélénium, cliker...). Est ce que trafiquer les headers est suffisant? Merci pour ta réponse.
Tout va dépendre des mécanismes de détection mis en place par le site sur lequel le bot doit fonctionner. Attention néanmoins dans beaucoup de cas l'utilisation de bot est illégale ou enfreint les conditions d'utilisation des sites, donc renseigne toi avant de faire quoique ce soit sur un site qui n'est pas le tien. Le mieux est en général d'utiliser les API fournies par les sites eux-mêmes.
Salut j'ai eu quelques idées pour récupérer des produits dans un Google sheet puis faire de la comparaison des prix... Mets je ne suis pas sûr que ces idées soient bonnes, est-ce que tu pourrais me dire ce que tu en penses
@@Joycode_ je ne sais pas comment les essayer, je veux dire je ne me sers pas de python contrairement à toi c'est pourquoi je t'ai écrit pour te demander ton avis
@@Joycode_ Bonjour j'ai quelques idées d'utilisation de python, de création, et je voudrais que tu me dises ce que tu en penses, est-ce que tu utilises également n8n, uipath ou autre logiciel no code ? Est-ce que tu penses qu'il serait possible de récupérer sur une marketplace une liste de produits à vendre puis de les scanner avec une autre liste de produits afin de calculer la différence de prix, la marge que je pourrais me faire… Merci
Salut merci pour la video J'ai plusieur questions deja la première La ligne proxy_list = pd.read_html(response.text)[0] Pourquoi avoir mis[0] stp ? Deuxième question On ne risque pas une attaque man in the middle en utilisant des proxies comme utilisé dans la video ?
pd.read_html() retourne une liste de DataFrame (les tableaux présents sur la page) et [0] permet d'accéder au premier tableau (celui avec la liste de proxies). Cela dépend de la page du coup. Quant à l'attaque MitM oui c'est possible, et de manière générale c'est le cas à chaque fois qu'on utilise un intermédiaire (VPN, proxy, ...) mais pour du scraping c'est peu gênant, on veut juste récupérer des données publiques. Ne pas envoyer de mot de passe ou autre donnée sensibles dans les requêtes en revanche :)
Certains sites te bloquent lorsque tu utilises Selenium, car c'est détectable (Chrome par exemple empêche de se connecter automatiquement à un compte Gmail, leboncoin t'empêche d'accéder à la moindre de ses pages, ect). Et je ne crois pas que les headers et la rotation de proxies permettent de résoudre ce problème. Alors existe-t-il une solution?
Il y a plein d'autres méthodes de détection plus ou moins avancées, tu peux en avoir un aperçu sur pixelscan.net. Comme souvent en sécurité, c'est une question d'équilibre entre les compétences du développeur du site et celles du scraper. Il faut y aller étape par étape, essayer avant de conclure etc.
@@Joycode_ salut exact mais aussi une question d'avance technologique ;) eh ouai bcp des gros site sont protégés contre le scrap...technique qui devient de plus en plus populaire depuis ma loin de 10 ans
Ce n'est pas possible directement, en tous cas pas facilement. Une alternative à selenium permet de le faire en revanche : github.com/wkeeling/selenium-wire
Hello, super vidéo, je voulais juste savoir comment faire en sorte de changer le user_agent à chaque fois avec le fichier que tu as mis à disposition ?
Merci beaucoup ! J'y réfléchis, ce que je reproche à scrapy c'est que sa configuration est très spécifique et donc ce qu'on apprend en l'utilisant ne s'applique pas facilement à d'autres domaines, au contraire de Sélénium et requests :)
Je souhaite utiliser Chrome comme navigateur et lorsque je spécifie des capabilities au driver créé de Chrome, python me dit que l'argument 'capabilities' n'était pas attendu... D'où vient l'erreur?
Le driver Chrome de selenium ne fonctionne pas avec les mêmes paramètres, on utilise des options et non des capabilities. Par exemple : stackoverflow.com/questions/55582136/ddg#55582859
@@Joycode_ Superbe! Je vous remercie pour votre réponse rapide! Cependant, je ne trouve pas comment modifier les headers avec le driver Chrome de selenium. Faut-il également trouver la commande spécifique pour l'ajouter en argument du Chrome_Options() ou cela se fait-il autrement? Par ailleurs, est ce que si j'utilise toujours les même headers lorsque je fais du WebScrapping me rend vulnérable? ou simplement le fait de me cacher derrière une autre adresse ip (grâce au proxy) suffit amplement lorsqu'e cela est combiné aux faux headers que j'ai donné au programme?
Tout va dépendre des mécanismes de détection mis en place par le site que tu scrapes. L'avantage du proxy c'est qu'on moins ton IP normale ne peut pas être blacklist. Après tu peux quand-même être détecté. Honnêtement je te conseille d'utiliser le Firefox driver et de mettre des headers chrome au pire. Je n'utilise pas trop le Chrome driver donc je ne sais pas si on peut facilement changer les headers.
tressssssssssssss bon .......ben j'essaye de faire un script pour les envoie d'email avec un smtp , mais quand je fini de creer le scrypte et que je le lance un autre scrypte se creer automatiquément qui est chiffrer.... je peux avoir une aide pour evité cela et envoye un masse d'email via smtp
Tu as plusieurs méthodes : soit tu demandes à l'utilisateur de le saisir au lancement du programme (avec getpass par exemple), soit tu récupères un mot de passe stocké ailleurs (fichier, réseau,...). C'est pour faire quoi ?
Le contenu de ChatGPT est dynamique (il change en fonction de ce que tu lui demandes) donc pas vraiment éligible au scraping. Tu peux utiliser directement l'API REST de OpenAI en revanche, elle est faite pour ça.
Tu bloques sur quoi ? Pour progresser le mieux c'est de choisir un petit projet simple et de le réaliser en s'appuyant sur la documentation python, des vidéos, stackoverflow.com etc.
@@Joycode_ en faite pour moi mon code est bon je scrape plusieur fiche il scrape la première j ai les infos rechercher et à partir de la deuxième la page ecrit cloudflare et la j arrive plus à rien en tout cas merci à toi de repondre
Vous avez déjà intégré du code de scraping avec une API comme HasData ? Je serais curieux d'entendre vos avis sur comment cela peut simplifier le processus.
C trop bien mdrr, j'ai galeré pendant 2 mois avant de trouver la vidéo. Je t'aime mec t un bon j'ai juré. Continue comme ca
Merci beaucoup !
Ravi d'avoir pu t'aider :)
Un grand bravo pour cette vidéo! Du code très propre, une vraie pédagogie même en utilisant des outils plus avancés... super intéressant!!!
J'espère que tu continueras à faire des vidéos sur Python! Une seule façon de le savoir... je m'abonne! :)
Merci beaucoup !
Je viens de changer de boulot (toujours dans le développement) donc j'ai fait une petite pause, mais je reprends très vite :)
J'ai adoré ta vidéo très utile et pro. Je débute en Scraping et cela est très instructif. 😊
Merci beaucoup pour ces infos. Je teste tout ca ;) Félicitations
Merci à toi 😊
Très très propre, merci beaucoup j'espère que tu vas continuer tes vidéos très quali 👏
Un grand merci !
Excellent tuto comme d'habitude.
Merci beaucoup !
t'es vidéos sont incroyable merci beaucoup
Merci à toi !
@@Joycode_ bonjour, j'aimerais savoir si tu pourrais m'aider, car depuis ta vidéo, j'ai essayé de créer un script python me permettant d'aller sur le site nike et de mettre directement un produit dans mon panier, mais je bloque à la partie ou je dois accepter les cookies. il parait qu'il y a une "" mais rien à faire, je n'arrive pas passer cette étapes as-tu une technique ou bien une explication ?
très précis, du contenu de qualité
Très bonne vidéo, les explications sont vraiment top !
Merci beaucoup !
*Trop bien ta video je commente rarement mais je kiff l'explication*
Merci beaucoup pour ton commentaire !
I don't speak french, but this video was very very helpfull, thank you very much. Greetings from Chile
Thanks a lot!
All my code is accessible on Github (link in the description) should you need to have a second look at it :)
@Joycode Great! I tried your code but I was instantly blocked by the page i'm trying to scrap. Do you got any more tricks to avoid detection?
Excellente vidéo merci beaucoup🙏
Merci à toi !
Bravo pour cette vidéo !
Merci beaucoup pour ce tuto 🙏
Merci à toi !
Bonjour, encore une fois, super tuto !!! J'ai deux questions. Si on utilise webdriver avec Selenium, a-t-on besoin de changer son header ? Egalement, peut-on utilise un timeout au lieu de se servir d'un proxy ?
Merci pour cette vidéo, c'est très clair ! Je tente du scraping sur le site leboncoin, cependant je suis bloqué dès la première requête en passant par selenium. Est-ce que tu aurais une idée de la cause ?
Merci cool comme vidéo
Bonjour est-ce que tu pourrais m'expliquer quelle est la différence entre le fait d'utiliser une application ou d'utiliser un script python pour scrapper ?
bonjour joycode j'ai essayé votre code aujourd'hui mais la seul réponse que je recois quand je test mon user-agent (5 minutes 36) de la vidéo c'est . Est ce normal ?
Bravo! Vidéo claire et rapide avec de bonnes explications, la meilleure que j'ai pu trouver. Qu'est ce que tu utilises comme soft pour mettre en écran ton notebook de cette manière ?
Merci beaucoup !
J'utilise l'extension Rise pour transformer le notebook en présentation. Après j'ai modifié le CSS moi-même pour avoir ce rendu, à toi de jouer avec si tu veux ton propre look & feel 😊
Franchement, merci😊
Avec plaisir 😊
Simple et concis🎆
Merci beaucoup !
Bonjour, merci pour cette vidéo
petite question : Est t'il possible de set des user agent avec sélénium ?
Oui c'est un header donc on peut normalement le préciser au moment de la requête (GET, POST,...).
Cela dit je n'ai pas testé pour voir si cela écrase bien le user-agent par défaut du driver utilisé (Firefox dans notre exemple).
Bonjour, super vidéo ! Merci pour l'explication. Cependant, pourquoi n'utilisons-nous pas Chrome directement au lieu de Firefox ? De plus, lorsque j'appuie sur F12, cela n'affiche rien, cela augmente simplement le volume.
Tu as probablement le Fn lock activé, appuie sur la touche Fn avant d'appuyer sur F12 :)
C'est juste un exemple, on peut également utiliser un webdriver chrome ou chromium, les options seront juste un peu différentes.
super video. par contre j'ai l'impression que les proxy gratuits ne tiennent pas longtemps. que conseilles tu pour avoir un proxy stable?
Je ne connais pas de solution légale autre que de payer un service de proxy malheureusement.
La difficulté est qu'il faut être capable de gérer les bans d'IP, donc c'est difficile à monter soi-même.
Hello, super clair!!! Bravo;)))
Mon objectif est de réaliser un bot pour click (sélénium, cliker...). Est ce que trafiquer les headers est suffisant?
Merci pour ta réponse.
Tout va dépendre des mécanismes de détection mis en place par le site sur lequel le bot doit fonctionner.
Attention néanmoins dans beaucoup de cas l'utilisation de bot est illégale ou enfreint les conditions d'utilisation des sites, donc renseigne toi avant de faire quoique ce soit sur un site qui n'est pas le tien. Le mieux est en général d'utiliser les API fournies par les sites eux-mêmes.
Salut j'ai eu quelques idées pour récupérer des produits dans un Google sheet puis faire de la comparaison des prix... Mets je ne suis pas sûr que ces idées soient bonnes, est-ce que tu pourrais me dire ce que tu en penses
Toutes les idées peuvent être bonnes, pour le savoir il faut les essayer pas en discuter :)
@@Joycode_ je ne sais pas comment les essayer, je veux dire je ne me sers pas de python contrairement à toi c'est pourquoi je t'ai écrit pour te demander ton avis
@@Joycode_ Bonjour j'ai quelques idées d'utilisation de python, de création, et je voudrais que tu me dises ce que tu en penses, est-ce que tu utilises également n8n, uipath ou autre logiciel no code ?
Est-ce que tu penses qu'il serait possible de récupérer sur une marketplace une liste de produits à vendre puis de les scanner avec une autre liste de produits afin de calculer la différence de prix, la marge que je pourrais me faire…
Merci
@@Joycode_ salut
@@Joycode_salut
15:07 Ils n’ont pas une API pour ça ? (Dans l’idéal c’est toujours mieux que de scrapper ahah😅)
Salut merci pour la video
J'ai plusieur questions deja la première
La ligne proxy_list = pd.read_html(response.text)[0]
Pourquoi avoir mis[0] stp ?
Deuxième question
On ne risque pas une attaque man in the middle en utilisant des proxies comme utilisé dans la video ?
pd.read_html() retourne une liste de DataFrame (les tableaux présents sur la page) et [0] permet d'accéder au premier tableau (celui avec la liste de proxies). Cela dépend de la page du coup.
Quant à l'attaque MitM oui c'est possible, et de manière générale c'est le cas à chaque fois qu'on utilise un intermédiaire (VPN, proxy, ...) mais pour du scraping c'est peu gênant, on veut juste récupérer des données publiques. Ne pas envoyer de mot de passe ou autre donnée sensibles dans les requêtes en revanche :)
Certains sites te bloquent lorsque tu utilises Selenium, car c'est détectable (Chrome par exemple empêche de se connecter automatiquement à un compte Gmail, leboncoin t'empêche d'accéder à la moindre de ses pages, ect). Et je ne crois pas que les headers et la rotation de proxies permettent de résoudre ce problème. Alors existe-t-il une solution?
Il y a plein d'autres méthodes de détection plus ou moins avancées, tu peux en avoir un aperçu sur pixelscan.net.
Comme souvent en sécurité, c'est une question d'équilibre entre les compétences du développeur du site et celles du scraper. Il faut y aller étape par étape, essayer avant de conclure etc.
@@Joycode_ merci 👍
@@Joycode_ salut exact mais aussi une question d'avance technologique ;) eh ouai bcp des gros site sont protégés contre le scrap...technique qui devient de plus en plus populaire depuis ma loin de 10 ans
Super vidéo. En revanche comment fait on pour changer les headers avec selenium ?
Ce n'est pas possible directement, en tous cas pas facilement. Une alternative à selenium permet de le faire en revanche : github.com/wkeeling/selenium-wire
Bravo et merci pour les informations !!
S'il te plaît tu peux me dire avec quel outil tu fais tes présentations ?
Merci beaucoup !
J'utilise jupyter notebook avec l'extension RISE :
rise.readthedocs.io/en/stable/
J'ai suivi les différentes étapes et pourtant certains sites me renvoient toujours l'erreur 403. Avez vous une idée de comment faire ?
403 signifie "unauthorized" ce qui veut probablement dire que le site nécessite un login ou autre forme d'authentification
Hello, super vidéo, je voulais juste savoir comment faire en sorte de changer le user_agent à chaque fois avec le fichier que tu as mis à disposition ?
tu peux faire de manière aléatoire avec liste [int(len(liste)*random.random())]
t'es tres bon tu nas pas le" temps pôur les blaabla bla
Super vidéo! Pourrais tu faire un tutoriel sur Scrapy?
Merci beaucoup !
J'y réfléchis, ce que je reproche à scrapy c'est que sa configuration est très spécifique et donc ce qu'on apprend en l'utilisant ne s'applique pas facilement à d'autres domaines, au contraire de Sélénium et requests :)
Je souhaite utiliser Chrome comme navigateur et lorsque je spécifie des capabilities au driver créé de Chrome, python me dit que l'argument 'capabilities' n'était pas attendu... D'où vient l'erreur?
Le driver Chrome de selenium ne fonctionne pas avec les mêmes paramètres, on utilise des options et non des capabilities.
Par exemple : stackoverflow.com/questions/55582136/ddg#55582859
@@Joycode_ Superbe! Je vous remercie pour votre réponse rapide!
Cependant, je ne trouve pas comment modifier les headers avec le driver Chrome de selenium. Faut-il également trouver la commande spécifique pour l'ajouter en argument du Chrome_Options() ou cela se fait-il autrement?
Par ailleurs, est ce que si j'utilise toujours les même headers lorsque je fais du WebScrapping me rend vulnérable? ou simplement le fait de me cacher derrière une autre adresse ip (grâce au proxy) suffit amplement lorsqu'e cela est combiné aux faux headers que j'ai donné au programme?
Tout va dépendre des mécanismes de détection mis en place par le site que tu scrapes.
L'avantage du proxy c'est qu'on moins ton IP normale ne peut pas être blacklist. Après tu peux quand-même être détecté.
Honnêtement je te conseille d'utiliser le Firefox driver et de mettre des headers chrome au pire. Je n'utilise pas trop le Chrome driver donc je ne sais pas si on peut facilement changer les headers.
tressssssssssssss bon .......ben j'essaye de faire un script pour les envoie d'email avec un smtp , mais quand je fini de creer le scrypte et que je le lance un autre scrypte se creer automatiquément qui est chiffrer.... je peux avoir une aide pour evité cela et envoye un masse d'email via smtp
excellent
merci vraiment tu m'aides beaucoup en python ....... comment supprimé un mots de passe dans un script python ?
Tu as plusieurs méthodes : soit tu demandes à l'utilisateur de le saisir au lancement du programme (avec getpass par exemple), soit tu récupères un mot de passe stocké ailleurs (fichier, réseau,...).
C'est pour faire quoi ?
Merci
Je me tente à scrap chatGPT. Je vois que la tâche à l'air plus corriace que d'habitude. Je vais voir si grâce à ta vidéo j'arrive à passer.
Le contenu de ChatGPT est dynamique (il change en fonction de ce que tu lui demandes) donc pas vraiment éligible au scraping.
Tu peux utiliser directement l'API REST de OpenAI en revanche, elle est faite pour ça.
Le contenu dynamique n'est pas possible à scrapper ?@@Joycode_
bonsoir grace a vos video je fait beaucoup de progres mais sa fait 3 mois je bloque pourriez vous m aider
Tu bloques sur quoi ?
Pour progresser le mieux c'est de choisir un petit projet simple et de le réaliser en s'appuyant sur la documentation python, des vidéos, stackoverflow.com etc.
@@Joycode_ en faite pour moi mon code est bon je scrape plusieur fiche il scrape la première j ai les infos rechercher et à partir de la deuxième la page ecrit cloudflare et la j arrive plus à rien en tout cas merci à toi de repondre
sympat tt ca mais moi j me fait detecter quand meme ...