Permettez-moi de vous demander ceci, si vous étiez propriétaire d'un site Web.
Souhaitez-vous que les gens grattent votre site Web ?
Voudriez-vous que les gens accèdent à vos données, peut-être à votre Airbnb et vous avez travaillé très dur pour répertorier ces
produits, différentes informations ici, est-il juste que n'importe qui puisse venir récupérer ces informations et peut-être faire une
copie de votre site Web ?
Mais pas vraiment vrai ?
Je veux dire, cela dépend la plupart du temps, vous ne voulez pas vraiment que les gens grattent votre site Web.
Bien que le HTML et les données d'un site Web soient disponibles pour nous tous, c'est simplement la façon dont notre Internet fonctionne afin que
les gens puissent voir différentes pages Web, la plupart des sites Web ne veulent pas vraiment que vous récupériez leurs données.
Maintenant, il existe en fait un moyen pour les sites Web de vous dire ce que vous pouvez et ne pouvez pas gratter.
C'est ce qu'on appelle le texte de points de robots.
Nous disons simplement à la fin d'une barre oblique d'URL.
Les robots ne cliquent pas, entrez.
Regardez ça, Airbnb a un robot.
Les robots textuels non taxés disent simplement, hé, si vous êtes un robot, si vous êtes un gratte-web ou une araignée.
C'est pourquoi vous êtes autorisé et non autorisé à le faire, cela signifie-t-il qu'ils nous empêcheront si nous enfreignons les règles
?
Non, ils ne peuvent pas vraiment nous empêcher.
Mais c'est une zone grise où vous voulez être éthique ici et ne gratter que les données qu'un site Web vous permet.
Donc, si nous regardons le texte Roboshark, vous voyez ici qu'Airbnb a créé un dossier fiscal qui nous dit ce que vous
pouvez et ne pouvez pas gratter.
Par exemple, nous regardons l'agent utilisateur ici, qui dit que le bot Google Airbnb dit, hé, bot Google, vous êtes autorisé
à gratter ces informations, mais nous ne vous permettons pas de gratter le calendrier des anciens du compte et vous voyez que il y a
beaucoup de choses qui sont interdites.
Qu'en est-il du bot de recherche Bing ?
Eh bien, alors tu as le droit de faire ça, mais il ne peut pas.
Grattez toutes ces données.
Nous avons le conseil Yandex.
Qu'avons-nous d'autre, nous avons Biddu Spider.
Et puis nous avons aussi l'étoile de l'agent utilisateur, cela signifie que n'importe qui d'autre, n'importe qui d'autre, vous êtes autorisé
à gratter cela, mais aucune de ces informations.
Très bien, allons à un autre, allons à toi, Demi Dotcom.
Ici, nous voyons que toute personne que nous ne voulons pas que vous grattiez ou parcouriez ces informations,
mais nous vous permettons d'y accéder.
API 2. 0, bien sûr, les composants d'atterrissage, d'accord, alors c'est dommage.
Il semble qu'Udemy ne nous permette pas vraiment de faire autre chose que cette API 2. 0 chose, qui reviendra à.
Qu'en est-il de Hacker News, nous allons construire un projet autour de Hacker News, alors voyons si Hacker
News nous permet de le scraper.
Très bien, donc cette liste est un peu plus petite.
Nous voyons cela pour tous les utilisateurs.
Nous ne sommes pas autorisés à utiliser ces points de terminaison.
Donc, tant que vous ne les utilisez pas une fois que vous les autres, nous sommes prêts à partir.
C'est si nous voulions gratter juste la page d'accueil.
Ce qui est juste ici, c'est bien si nous essayons, disons, d'aller aux commentaires.
C'est bien aussi, parce que celui-ci n'était pas dans le texte du robot, encore une fois, si vous vous en souvenez, si nous
passons au texte des robots.
C'est très bien.
La seule chose qu'ils demandent est que nous ayons un délai d'exploration de 30, c'est-à-dire que si nous allons explorer leur
site Web, nous devrions avoir une pause afin que nous n'utilisions pas constamment des programmes pour accéder au site Web car, eh bien,
cela va surcharger leurs serveurs et peut-être ralentir leur site Web.
Alors, qu'est-ce que nous venons d'apprendre, nous avons appris qu'il existe des moyens éthiques et contraires à l'éthique de scraper des sites Web.
Oui, vous pouvez gratter n'importe quel site Web et en fait, il existe des plug-ins chromés.
Si vous branchez un grattoir Web sur Google Chrome, vous pouvez utiliser une tonne de grattoirs Web qui
vous permettent de gratter des sites Web sans même écrire une seule ligne de code.
C'est une bonne chose de pratiquer une programmation éthique, et cela signifie vérifier d'autres sites Web, termes et conditions avant de le gratter, vérifier
le texte de leurs robots pour voir ce que vous pouvez et ne pouvez pas gratter.
Parce que généralement, les données que vous récupérez sur un site Web ne doivent pas être utilisées à des fins commerciales, car
vous utilisez le travail acharné de quelqu'un d'autre pour, eh bien, peut-être gagner de l'argent.
Et c'est pourquoi, lorsque nous sommes allés sur Hacker News et avons demandé un délai de 30 secondes, si vous demandez
des données à un site Web de manière agressive avec votre programme, il s'agit essentiellement de spam
car cela peut casser Hacker News.
Maintenant, avant d'entrer dans le grattage Web, je veux noter une autre chose, et c'est cette idée d'une
API.
Si vous vous souvenez lorsque nous avons accédé à Udemy, ce texte robuste, ils nous ont dit qu'il y avait des zones autorisées que nous
pouvons gratter ou des points finaux que nous pouvons utiliser.
Vous voyez que certains sites Web vous permettent en fait d'accéder aux données.
Par exemple, Udemy nous fournit une API d'instructeur, c'est-à-dire que si vous êtes instructeur sur Udemy, vous
pouvez réellement utiliser leur API.
Vous pouvez le voir ici pour obtenir différentes données.
Peut-être que vous pouvez obtenir une liste de révision de cours, peut-être une liste de questions de cours.
Mais si je vais ici et que j'entre ceci dans mon RL, j'obtiendrai un jeton manquant invalide, c'est parce que pour le moment je ne suis pas un
instructeur, ou du moins je n'ai pas vérifié que je suis un instructeur.
Sur Udemy, il va dire, hé, ces données ne concernent que les instructeurs valides, je dois donc leur transmettre un jeton pour
prouver que je suis un instructeur sur vous, Denny.
Et de nombreux sites Web vous offrent ce que nous appelons un accès à l'API ou à l'interface de programmation d'applications.
Sous une forme comme celle-ci, Jason to vous donnera les données dont vous avez besoin et certains sites Web ne vous permettent de le
faire que si vous êtes un utilisateur valide.
Par exemple, l'une des applications les plus populaires est cette API GitHub, où vous pouvez accéder à différentes informations à partir de
GitHub.
Mais pour que nous l'utilisions, nous devons, eh bien, créer un compte utilisateur et valider pour que nous soyons qui nous
disons être.
Mais il y a aussi des sites comme l'API Star Wars qui nous donne un accès gratuit.
C'est-à-dire que n'importe qui peut l'utiliser.
Nous n'avons pas besoin de vérifier que nous sommes utilisateur.
Nous n'avons pas à donner de jeton lors d'une demande.
Au lieu de cela, nous pouvons simplement demander des données.
Ainsi, par exemple, si je fais l'API Sowerby et que je tape des personnes et que j'appuie sur Entrée.
Regarde ça, je reçois toutes ces données gratuitement pour que ce bien, je puisse créer une application autour de Starwars,
ce que Skype représente.
Il signifie l'API Star Wars.
Et nous pouvons saisir toutes ces informations que nous voulons.
Nous avons aussi des choses comme le Jason Placeholder, que j'aime beaucoup utiliser lors de la construction de projets
simples où nous pouvons obtenir différentes informations comme des photos, vous pouvez voir ici qu'il s'agit d'une API qui nous donne
des informations.
Avec différentes photos que nous pouvons utiliser.
Peut-être que nous avons différents messages que nous pouvons utiliser.
Et encore une fois, ce sont ce que nous appelons au format JSON, qui n'est pas du HTML, mais juste une version nettoyée des
données afin que les gens puissent l'utiliser, le moyen le plus simple d'obtenir des données à partir d'un site Web est généralement d'utiliser une API.
Parfois, les sites Web nous permettent d'y accéder facilement, ou ils peuvent avoir une API, mais elle n'est limitée qu'à
certains utilisateurs.
Peut-être que vous devez vous inscrire auprès de leur service.
Peut-être que vous devez payer pour leur API.
Eh bien, dans ce cas, nous avons ceci.
Mais il y a aussi un grattage Web, qui est peut-être qu'un site Web ne vous donne pas accès à une API.
Peut-être que vous voulez juste avoir cette information.
Par exemple, Hacker News n'offre pas d'API à ma connaissance.
Au lieu de cela, nous pourrions vouloir simplement gratter le code HTML, tout le site Web et voir ce que nous pouvons utiliser.
Alors, comment peut-on scraper un site Web en utilisant Python ?
A découvrir dans la prochaine vidéo.