Déjame preguntarte esto, si fueras propietario de un sitio web.
¿Le gustaría que la gente raspara su sitio web?
¿Le gustaría que la gente acceda a sus datos, tal vez su Airbnb y usted trabajó muy duro para enumerar estos
productos, información diferente aquí, es justo que alguien pueda venir y simplemente tomar esta información y tal vez hacer
una copia de su sitio web?
¿Pero no es verdad?
Quiero decir, depende la mayor parte del tiempo de que no quieras que la gente raspe tu sitio web.
Aunque HTML y los datos de un sitio web están disponibles para todos nosotros, así es como funciona nuestro Internet para que las
personas puedan ver diferentes páginas web, la mayoría de los sitios web no quieren que extraigas sus datos.
Ahora bien, existe una forma en que los sitios web le dicen lo que puede y lo que no puede raspar.
Se llama texto de puntos de robots.
Simplemente decimos al final de una barra de URL.
Robots punto t t clic, entrar.
Mira eso, Airbnb tiene robots.
Los robots de texto no gravados simplemente dicen, oye, si eres un robot, si eres un raspador de telarañas o una araña.
Es por eso que está permitido y no puede hacerlo, ¿significa que nos impedirán si rompemos las
reglas?
No, realmente no pueden evitarnos.
Pero esta es un área gris en la que desea ser ético aquí y solo raspar los datos que le permite un sitio web.
Entonces, si miramos el texto de Roboshark, verá aquí que Airbnb ha creado un archivo de impuestos que nos dice lo
que puede y no puede raspar.
Por ejemplo, miramos al agente de usuario aquí, que dice que el bot de Google Airbnb está diciendo, oye,
bot de Google, puedes raspar esta información, pero no te permitimos raspar el calendario de exalumnos de la cuenta y ves eso hay
muchas cosas que no están permitidas.
¿Qué pasa con el robot de búsqueda de Bing?
Bueno, entonces puedes hacer esto, pero él no puede.
Raspe cualquiera de estos datos.
Tenemos tablero Yandex.
¿Qué más tenemos? Tenemos Biddu Spider.
Y luego también tenemos la estrella del agente de usuario, eso significa que cualquier otra persona, cualquier otra persona,
puede eliminar esto, pero ninguna de esta información.
Muy bien, vayamos a otro, vamos a ti, Demi Dotcom.
Aquí vemos que alguien que no queremos que usted raspe o rastree a través de esta información,
pero le permitimos acceder a ella.
API 2. 0, por supuesto, componentes de aterrizaje, está bien, eso es una lástima.
Parece que Udemy realmente no nos permite hacer nada más que esta API 2. 0 cosa, a la que volveré.
¿Qué pasa con Hacker News? Vamos a construir un proyecto en torno a Hacker News, así que veamos
si Hacker News nos permite eliminarlo.
Muy bien, entonces esta lista es un poco más pequeña.
Vemos eso para todos los usuarios.
No se nos permite utilizar estos puntos finales.
Por lo tanto, está diciendo que mientras no los use una vez que estos otros, estamos listos para comenzar.
Eso es si quisiéramos raspar solo la página de inicio.
Lo cual está aquí, está bien si estamos tratando de, digamos, ir a los comentarios.
Eso también está bien, porque este no estaba en el texto del robot, de nuevo, si lo recuerdas, si vamos al
texto de puntos de robots.
Esta bien.
Lo único que preguntan es que tenemos un retraso de rastreo de 30, es decir, si vamos a rastrear
su sitio web, deberíamos hacer una pausa para que no usemos programas constantemente para acceder al sitio web porque, bueno, esto
sobrecargará sus servidores y quizás ralentizará su sitio web.
Entonces, ¿qué aprendemos? Aprendimos que existen formas éticas y no éticas de eliminar sitios web.
Sí, puede raspar cualquier sitio web que desee y, de hecho, hay complementos de Chrome.
Si Google Chrome conecta el raspador web, hay un montón de raspadores web que puede usar y
que le permiten raspar sitios web sin siquiera escribir una sola línea de código.
Es bueno practicar la programación ética, y eso significa verificar otros sitios web, términos y condiciones antes de rasparlos, verificar el texto de
los puntos de los robots para ver qué se puede y qué no se puede raspar.
Porque, por lo general, los datos que extrae de un sitio web no deben usarse con fines comerciales porque
está utilizando el arduo trabajo de otra persona para, bueno, quizás ganar dinero.
Y esta es la razón por la que cuando fuimos a Hacker News y pedimos un retraso de 30 segundos, correcto,
si está solicitando datos de un sitio web para agresivamente con su programa, eso es esencialmente spam
porque esto puede romper Hacker News.
Ahora, antes de entrar en Web scraping, quiero señalar otra cosa, y esa es la idea de una
API.
Si recuerdas cuando accedimos a Udemy, este texto robusto, nos dijeron que hay algunas áreas permitidas que podemos
raspar o puntos finales que podemos usar.
Ves que algunos sitios web te permiten acceder a los datos.
Por ejemplo, Udemy nos brinda una API de instructor, es decir, si eres un instructor en
Udemy, puedes usar su API.
Puede verlo aquí mismo para que pueda obtener diferentes datos.
Tal vez pueda obtener una lista de revisión del curso, tal vez una lista de preguntas del curso.
Pero si voy aquí e ingreso esto en mi RL, obtendré un token faltante inválido, eso es porque ahora mismo no soy
instructor, o al menos no he verificado que soy instructor.
En Udemy, va a decir, oye, estos datos son solo para instructores válidos, así que necesito pasar una ficha
para demostrar que soy un instructor contigo, Denny.
Y muchos sitios web le brindan lo que llamamos API o acceso a la interfaz de programación de aplicaciones.
En un formulario como este, llamado Jason, te dará los datos que necesitas y algunos sitios web solo te permiten hacer
esto si eres un usuario válido.
Por ejemplo, una de las aplicaciones más populares es esta API de GitHub, donde puede acceder a información diferente de
GitHub.
Pero para que podamos usarlo, tenemos que, bueno, crear una cuenta de usuario y validar para que seamos quienes
decimos ser.
Pero también hay sitios web como la API de Star Wars que nos da acceso gratuito.
Es decir, cualquiera puede usarlo.
No necesitamos verificar que somos usuarios.
No tenemos que dar un token al realizar una solicitud.
En cambio, solo podemos solicitar datos.
Entonces, por ejemplo, si hago la API de Sowerby y escribo personas y presiono enter.
Mire eso, obtengo todos estos datos gratis para que, bueno, pueda crear una aplicación alrededor de Starwars, que es
lo que significa Skype.
Significa la API de Star Wars.
Y podemos obtener toda esta información que queramos.
También tenemos cosas como Jason Placeholder, que realmente me gusta usar cuando construyo proyectos simples donde
podemos obtener información diferente como fotos, puedes ver aquí que esta es una API que nos da
información.
Con diferentes fotos que podemos utilizar.
Tal vez tengamos diferentes publicaciones que podamos usar.
Y nuevamente, esto es lo que llamamos en formato JSON, que no es HTML, sino solo una versión limpia de los
datos para que las personas puedan usarlos, la forma más fácil de obtener datos de un sitio web suele ser mediante una API.
A veces, los sitios web nos permiten acceder a ellos fácilmente, o pueden tener una API, pero solo está restringido a
ciertos usuarios.
Quizás tengas que registrarte en su servicio.
Quizás tengas que pagar por su API.
Bueno, en ese caso, tenemos esto.
Pero también hay un web scraping, que tal vez sea un sitio web que no le da acceso a una API.
Quizás solo quieras tener esa información.
Por ejemplo, Hacker News no ofrece una API que yo sepa.
Entonces, en cambio, podríamos querer simplemente raspar el HTML, todo el sitio web y ver qué podemos usar.
Entonces, ¿cómo podemos raspar un sitio web usando Python?
Averigüemos en el siguiente video.