Deixe-me perguntar isso, se você fosse proprietário de um site.
Você gostaria que as pessoas copiassem seu site?
Você gostaria que as pessoas acessassem seus dados, talvez seu Airbnb e você tenha trabalhado muito para listar esses produtos,
informações diferentes aqui, é justo que qualquer pessoa possa vir e apenas pegar essas informações e talvez
fazer uma cópia do seu site?
Mas não está certo?
Quer dizer, depende na maioria das vezes você realmente não quer que as pessoas roubem seu site.
Embora o HTML e os dados de um site estejam disponíveis para todos nós, é assim que nossa Internet funciona para que as
pessoas possam ver diferentes páginas da Web, a maioria dos sites realmente não quer que você copie seus dados.
Na verdade, há uma maneira de os sites dizerem o que você pode e o que não pode fazer.
É chamado de texto de pontos de robôs.
Dizemos simplesmente no final de uma barra de URL.
Robôs ponto para clicar, entrar.
Olha só, o Airbnb tem robôs.
Os robôs de texto não tributados simplesmente dizem, ei, se você é um robô, se você é um raspador de teia ou uma aranha.
É por isso que você tem permissão e não tem permissão para fazer. Isso significa que eles vão nos impedir se quebrarmos as
regras?
Não, eles realmente não podem nos impedir.
Mas esta é uma área cinzenta em que você quer ser ético aqui e apenas raspar os dados que um site permite.
Então, se olharmos o texto do Roboshark, você verá que o Airbnb criou um arquivo de impostos que nos diz o que
você pode e não pode raspar.
Por exemplo, olhamos para o agente de usuário aqui, que diz que o bot do Google, Airbnb está dizendo, ei, bot
do Google, você tem permissão para copiar essas informações, mas não permitimos que você raspe o calendário de ex-alunos da conta e você vê que
há muitas coisas que não são permitidas.
E o bot de pesquisa do Bing?
Bem, então você pode fazer isso, mas ele não pode.
Raspe qualquer um desses dados.
Temos placa Yandex.
O que mais nós temos, nós temos Biddu Spider.
E também temos o user agent star, o que significa que qualquer outra pessoa, qualquer outra pessoa, você tem
permissão para raspar isso, mas nenhuma dessas informações.
Tudo bem, vamos para outro, vamos para você, Demi Dotcom.
Aqui, vemos que ninguém que não queira que você raspe ou rasteje por nenhuma dessas informações,
mas permitimos que você acesse isso.
API 2. 0, é claro, componentes de pouso, tudo bem, isso é uma pena.
Parece que a Udemy realmente não nos permite fazer nada além desta API 2. 0 coisa, que vai voltar.
E quanto ao Hacker News, vamos construir um projeto em torno do Hacker News, então vamos ver se
o Hacker News nos permite rascunhá-lo.
Tudo bem, então esta lista é um pouco menor.
Vemos isso para todos os usuários.
Não temos permissão para usar esses terminais.
Portanto, contanto que você não use estes uma vez, estamos prontos para continuar.
Isso se quiséssemos raspar apenas a página inicial.
Que está bem aqui, tudo bem se estivermos tentando, digamos, ir para os comentários.
Isso também está bom, porque este não estava no texto do robô, de novo, se você se lembra, se formos para o
texto de pontos dos robôs.
Isso é bom.
A única coisa que eles perguntam é que temos um atraso de rastreamento de 30, ou seja, se vamos
rastrear o site deles, devemos fazer uma pausa para não usarmos programas constantemente para acessar o site porque, bem, isso vai
sobrecarregar seus servidores e talvez tornar seu site mais lento.
Então, o que acabamos de aprender, aprendemos que existem maneiras éticas e antiéticas de copiar sites.
Sim, você pode copiar qualquer site que quiser e, na verdade, existem plug-ins do Chrome.
Se você conectar o Google Chrome no web scraper, há uma tonelada de Web scrapers que você pode usar
e que permitem que você raspe sites sem nem mesmo escrever uma única linha de código.
É uma boa coisa praticar a programação ética, e isso significa verificar outros sites, termos e condições antes de raspar, verificando o
texto de pontos dos robôs para ver o que você pode e não consegue raspar.
Porque geralmente os dados que você coleta de um site não devem ser usados para fins comerciais, porque você
está usando o trabalho duro de outra pessoa para, bem, talvez ganhar dinheiro.
E é por isso que quando fomos ao Hacker News e pedimos um atraso de 30 segundos, certo, se você está
solicitando dados de um site de forma agressiva com o seu programa, isso é essencialmente spam, porque
isso pode quebrar o Hacker News.
Agora, antes de entrarmos no Web scraping, quero observar outra coisa, que é a ideia de uma
API.
Se você se lembra quando acessamos o Udemy, este texto robusto, eles nos disseram que existem algumas áreas permitidas que
podemos raspar ou pontos finais que podemos usar.
Você vê que alguns sites realmente permitem que você acesse os dados.
Por exemplo, a Udemy nos dá uma API de instrutor, ou seja, se você for um instrutor na Udemy, você
pode realmente usar a API dela.
Você pode vê-lo aqui para que possa obter dados diferentes.
Talvez você possa obter uma lista de revisão do curso, talvez uma lista de perguntas do curso.
Mas se eu for aqui e inserir isso no meu RL, terei um token ausente inválido, é porque agora não sou um
instrutor, ou pelo menos não verifiquei se sou um instrutor.
No Udemy, vai dizer, ei, esses dados são apenas para instrutores válidos, então preciso passar um token para provar
que sou um instrutor para você, Denny.
E muitos sites oferecem o que chamamos de acesso à API ou interface de programação de aplicativos.
Em um formulário como este, chamado Jason para fornecerá os dados de que você precisa e alguns sites só permitem que você faça
isso se você for um usuário válido.
Por exemplo, um dos aplicativos mais populares é a API GitHub, onde você pode acessar diferentes informações do
GitHub.
Mas para que possamos usá-lo, temos que, bem, criar uma conta de usuário e validar para que sejamos quem
dizemos ser.
Mas também existem sites como a API Star Wars que nos dá acesso gratuito.
Ou seja, qualquer pessoa pode usá-lo.
Não precisamos verificar se somos usuários.
Não precisamos fornecer um token ao fazer uma solicitação.
Em vez disso, podemos apenas solicitar dados.
Então, por exemplo, se eu fizer a API do Sowerby e digitar people e teclar enter.
Olha só, eu pego todos esses dados de graça para que assim eu possa criar um aplicativo em torno do Starwars, que é
o que o Skype significa.
Significa a API Star Wars.
E podemos pegar todas as informações que quisermos.
Também temos coisas como o Jason Placeholder, que eu realmente gosto de usar ao construir projetos simples,
onde podemos obter diferentes informações, como fotos, você pode ver aqui que esta é uma API que nos
fornece informações.
Com várias fotos que podemos usar.
Talvez tenhamos postagens diferentes que possamos usar.
E, novamente, isso é o que chamamos de formato JSON, que não é HTML, mas apenas uma versão limpa dos
dados para que as pessoas possam usá-los. A maneira mais fácil de obter dados de um site geralmente é usando uma API.
Às vezes, os sites nos permitem apenas acessá-lo facilmente ou podem ter uma API, mas é restrito apenas a
determinado usuário.
Talvez você tenha que se registrar no serviço deles.
Talvez você tenha que pagar por sua API.
Bem, nesse caso, temos isso.
Mas também há um web scraping, que pode ser um site que não dá acesso a uma API.
Talvez você queira apenas ter essa informação.
Por exemplo, Hacker News não oferece uma API até onde eu sei.
Então, em vez disso, podemos querer apenas raspar o HTML, todo o site e ver o que podemos usar.
Então, como podemos raspar um site usando Python?
Vamos descobrir no próximo vídeo.