Introducción al web scraping
¿Qué es el web scraping?
¿Por qué aprender web scraping hoy?
Python: el lenguaje más poderoso para extraer datos
Fundamentos de la web
Entender HTTP
¿Qué es HTML?
Robots.txt: permisos y consideraciones al hacer web scraping
XML Path Language
XML Path Language
Tipos de nodos en XPath
Expresiones en XPath
Predicados en Xpath
Operadores en Xpath
Wildcards en Xpath
In-text search en Xpath
XPath Axes
Resumen de XPath
Aplicando lo aprendido
Proyecto: scraper de noticias
Un proyecto para tu portafolio: scraper de noticias
Construcción de las expresiones de XPath
Obteniendo los links de los artículos con Python
Guardando las noticias en archivos de texto
Conclusiones
Cómo continuar tu ruta de aprendizaje
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 31
Preguntas 10
RESUMEN: Robots.txt
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Los archivos robots.txt exiten como una forma de administrar una página web.
proporciona información a los rastreadores de los buscadores sobre las páginas o los archivos que pueden solicitar o no de tu sitio web.
Principalmente, se utiliza para evitar que tu sitio web se sobrecargue con solicitudes.
En el contexto de webscraping, le dice al scraper que puede y no extraer. Es decir hasta donde puede llegar. Ya que infrigir en la violación
de estas directivas puede acarrear un problema legal con el sitio web al que estamos scrapeando.
Robots.txt
Contiene entre otros elementos:
USER-AGENT: Identificadores de quienes acceden a tu sitio web, puede ser un archivo.py hasta un googlebot.
DIRECTIVAS
ALLOW: Utiliza esta directiva para permitir a los motores de búsqueda rastrear un subdirectorio o una página, incluso en un directorio que de otro modo no estaría permitido
DISALLOW: Utiliza esta directiva para indicar a los motores de búsqueda que no accedan a archivos y páginas que se encuentren bajo una ruta específica
Ejemplo:
url/robots.txt
Pro ejemplo:
# Robots.txt file from http://www.nasa.gov
#
# All robots will spider the domain
User-agent: *
Disallow: /worldbook/
Disallow: /offices/oce/llis/
Para conocer más información de robots.txt.
robots.txt de facebook tiene una lista grande, incluso dice que está prohibido colectar datos.
<h1>Notice: Collection of data on Facebook through automated means is</h1> <h1>prohibited unless you have express written permission from Facebook</h1> <h1>and may only be conducted for the limited purpose contained in said</h1> <h1>permission.</h1> <h1>See: http://www.facebook.com/apps/site_scraping_tos_terms.php</h1>User-agent: Applebot
Disallow: /ajax/
Disallow: /album.php
Disallow: /checkpoint/
Disallow: /contact_importer/
Disallow: /dialog/
Disallow: /fbml/ajax/dialog/
Disallow: /feeds/
Disallow: /file_download.php
Disallow: /hashtag/
Disallow: /l.php
Disallow: /moments_app/
Disallow: /p.php
Disallow: /photo.php
Disallow: /photos.php
Disallow: /share.php
Disallow: /share/
Disallow: /sharer.php
Disallow: /sharer/
User-agent: Discordbot
Disallow: /
Disallow: /ajax/
Disallow: /album.php
Disallow: /checkpoint/
Disallow: /contact_importer/
Disallow: /dialog/
Disallow: /fbml/ajax/dialog/
Disallow: /feeds/
Disallow: /file_download.php
Disallow: /hashtag/
Disallow: /l.php
Disallow: /moments_app/
Disallow: /p.php
Disallow: /photo.php
Disallow: /photos.php
Disallow: /share.php
Disallow: /share/
Disallow: /sharer.php
Disallow: /sharer/
¿Cómo se aplica la restricción especificada en el robots.txt al momento de utilizar este archivo en nuestro servidor?
¿Hay que configurar algo en nuestro apache/nginx o solo con tener el archivo esto restringe el acceso?
El robots.txt así mismo como muestra sus directivas de “no indexación” de ciertos path del sitio, el mismo también puede servir precisamente para identificar tecnologías.
Disallow: /wp-admin/ (wordpress)
Disallow: /core/ (drupal)
Disallow: /customer/ (magento)
A lo que se refiere con no scrappear otros path de las URL es porque directamente al tener muchas peticiones hacia ciertas URL que no existen causa consumo de recursos en los servidores, en muchos casos porque no toda la web está cacheada en los CDN (cloudflre) o en los balanceadores de carga (nginx, HA proxy)
el contenido scrapeado que infringa Robots.txt es penalizado, si lo hago publico ? y si no lo hago publico es solo para mi uso personal? no lo entiendo si el las paginas html son publicas…
Hola, buenas tardes. Supongo que es una buena práctica que cada sitio contenga, en su directorio raíz, el archivo robots.txt. Pero siempre puede existir la posibilidad de que no se encuentre ese archivo en el directorio raíz. En esos casos ¿Cómo puedo saber dónde está ese archivo (en el caso de que exista)?
El archivo robots.txt se deja en la raíz de la página y sirve para bloquear paginas con información sensible.
Robots.txt nos bloquea el acceso o ya queda a nuestra ética si hacemos o no caso?
Robots.txt
Son archivos utilizados para favorecer la navegación de un algoritmo de búsqueda en un sitio web, orientando cuáles páginas deben ser indexadas en los buscadores y controlando las páginas a las que el robot del motor de búsqueda no debe acceder.
Creo que en este momento lo que quiso decir Facundo es enlenteciendo, de hacer mas lento algo.
Hola a todos, os dejo mis apuntes de esta clase, sin embargo, he creado un respositorio en github donde estan todos los apuntes de este curso: https://github.com/fer2002743/web-scraping
<h1>Robots.txt: permisos y consideraciones al hacer web scraping</h1>
Robots.txt es un documento que se encuentra en la raiz de un sitio e indica a que partes de el pueden acceder y a que partes no pueden acceder los rastreadores de motores de busuqueda. Principalmente, se utiliza para evitar que tu sitio web se sobrecargue con solicitudes.
En el contexto de webscraping, le dice al scraper que puede y no extraer. Es decir hasta donde puede llegar. Ya que infrigir en la violación
de estas directivas puede acarrear un problema legal con el sitio web al que estamos scrapeando.
Este archivo contiene algunos elementos como:
USER-AGENT: Identifica quien puede acceder al sitio web
Directivas: Las direstivas son: allow, este directorio se usa para permitir a los motores de busqueda rastrear un subdirectorio o una pagina. Por otro lado disallow se utiliza para idicar que archivos y paginas no se esta permitido acceder.
Muy interesante
robots.txt
User-agent: *
Disallow: /calendar/
Disallow: /junk/
Permite el acceso desde cualquier dispositivo pero no permite el acceso a las carpetas (ni archivos que contienen) calendar ni junk del sitio.
User-agent: Mediapartners-Google*
Disallow:
User-agent: *
Disallow: /channel//community
Disallow: /comment
Disallow: /get_video
Disallow: /get_video_info
Disallow: /live_chat
Disallow: /login
Disallow: /results
Disallow: /signup
Disallow: /t/terms
Disallow: /timedtext_video
Disallow: /user//community
Disallow: /verify_age
Disallow: /watch_ajax
Disallow: /watch_fragments_ajax
Disallow: /watch_popup
Disallow: /watch_queue_ajax
Los archivos robots.txt exiten como una forma de administrar una página web.
proporciona información a los rastreadores de los buscadores sobre las páginas o los archivos que pueden solicitar o no de tu sitio web.
Interesante, siempre había visto los archivos robots.txt pero no sabía cuál era su función.
Dónde encontrar el robots.txt
robots.txt
Acá dejo un tutorial de cómo configurar un Robots.txt
The Robot.txt of youtube (2022):
QUE APRENDIMOS, en esta clase?
.
1- En donde se ubica el archivo robots.txt y como encontrarlo?
2- Que es user-Agent y user-Agent: *?
3- Que define Allow: /?
4- Para que sirve la especificacion Disallow?
Como crear un archivo robots.txt?
Muy buena explicación.
Es interesante, supongo que con lo sucedido no permiten a cualquiera scrapear a facebook.
De su robots.txt
User-agent: *
Disallow: /
<Presuntamente el robots.txt no es vinculante, por lo que este archivo no te impide hacer web scraping a un sitio web, pero aun así te puedes meter en problemas si lo haces.
como el caso hiQ Labs vs Linkedin.
Es cuestion de ver las leyes de cada pais y tratar los datos con etica.
https://platzi.com/clases/1751-webscraping/24790-etica-y-legalidad/
Lo que encontré acerca de facebook.
https://www.octoparse.es/blog/5-cosas-que-saber-antes-de-scraping-de-facebook
Mirando el archivo robots.txt de un periodico de colombia El colombiano me he dado cuenta que lo que está “desactivado” son noticias que ya no aparecen en el sitio o sea que han bajado de la pagina
Un archivo robots.txt debe estar en la raíz de la página, sirve para limitar las acciones de web scraping, como entrar a datos sensibles, es información que no queremos que se acceda, es considerado como buena practica respetarlo para evitarnos problemas legales.
robots.txt
Encontrado en la raíz del sitio que impide el scraping que realentiza la web(o simplemente no se quiere).
Esta clase ha sido super reveladora para mí, yo realizo web scraping con Javascript, llevo haciéndolo casi un año, definitivamente Platzi es el camino más corto, es un hack a la educación.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?