Ir al contenido principal

HTML::LinkExtractor - Extractor de enlaces externos e internos de un sitio web especificado

Descripción general del extractor

Descripción general del extractorHTML::LinkExtractorHTML::LinkExtractor – extractor de enlaces externos e internos de un sitio especificado. Admite extracción de datos multipágina y transición por páginas internas del sitio hasta la profundidad especificada, lo que permite recorrer todas las páginas del sitio, recopilando enlaces internos y externos. Tiene medios integrados para omitir la protección de CloudFlare y también la posibilidad de elegir Chrome como motor para la extracción de datos de páginas cuyos datos se cargan mediante scripts. Es capaz de alcanzar una velocidad de hasta 2000 consultas por minuto – esto es 120 000 enlaces por hora.

Casos de uso del extractor

Recopilación de todos los enlaces externos de un sitio
  1. Añadir la opción Parse to level, en la lista seleccionar el valor 10 (transición por páginas adyacentes hasta el nivel 10).
  2. Añadir la opción Result format, como valor indicar $extlinks.format('$link\n') (salida de enlaces externos).
  3. En la sección Queries (Consultas), marcar la opción Unique queries.
  4. En la sección Results (Resultados), marcar la opción Unique string.
  5. Como consulta, indicar el enlace al sitio del cual se requiere extraer los enlaces externos.
Descargar ejemplo

Cómo importar un ejemplo a A-Parser

eJxtU01v2zAM/S9CgK5AlrSHXnxLgwZb4dZdm57SHISYztTIoirRWQrD/32U7NjJ
1ptIvsfHL9WCpN/5JwceyItkVQsb3yIRORSy0iTGwkrnwYXwSvxYPqRJkiqzuzuQ
kxtCx4geWwv6tMBstKTQeI6pnM2YIoU9aPbspa4Yc33VnOD34JzK4Ugo0JWSuJa2
hI4iRnAgzeJ+0gK+XYyC+fZmLi5Fs16PRUvxixgODHs96Xrqgy9yD0sMKkrD4F6w
9SjLqJNLghA96lxO6BAyyDxXoTOpW4UwlUH11aiPWKcnp8yW8Ww6BX7hsGQ3QUwS
nJ/HCldiFG3BaarI/9VyREKugrHwXO1Cci15Hyik9hxRBE7yBrJu2Ekt0My0joMe
YDH9baV0zlucFUz62RG/hmT/5Wj6Dk+leGV/HNfQZ4nWbfYwsHJMccuNG+S2tSoV
se3nWJmwmyt27gBsP7bHACvRQS/TZe7U+VAtmHAfw9ZmdnCdtXG2mXPnBk2htll3
c0dkZZb8GzIzx9JqCH2ZSmveiofn4UJmvltDMIYC/yXPo8TZPyJE7e9f2lKtU3yB
N6HAkid5qtql3EitX5/T04gYLoqN30Q2mU7ld4ueFzpRpsCpCESCLfJFcVvNuv+/
/S+vv/zFSd3wwt79U4sO3QUs+3hMnrfBP7b5C6wbebo=

Similar al primer caso, pero en el paso 2 se debe indicar como valor $intlinks.format('$link\n') (salida de enlaces internos).

Descargar ejemplo

Cómo importar un ejemplo a A-Parser

eJxtU8tu2zAQ/BfCQBrAtZNDL7o5Roy2cOI0j5PjA2GtXNYUyZIrN4Ggf++QkiW7
zY27O7OzL9aCZdiHB0+BOIhsXQuX3iITORWy0izGwkkfyMfwWnx9vltm2VKZ/e0b
e7ll64HosbXgd0dgW8fKmoCYymGmFEs6kIbnIHUFzPVVc4I/kPcqpyOhsL6UjFra
EjqKGCnDGuJh0gI+XYyi+fpqLi5Fs9mMRUsJixSODHc96Xrqg0/yQM82qihNg3sB
616WSSeXTDF61Lmc8FvMIPNcxc6kbhXiVAbVF6N+pzoDe2V2wMP0isLC2xJuppQk
Ot+PFa7FKNkCaarE/9FyRMa+orEIqHYhUUveBwqpAyKKyUtsYNUNO6uFNTOt06AH
WEp/UymdY4uzAqRvHfFjyOq/HE3f4akUVvbHo4Y+S7JuVncDK7dLu0PjxqJtrUrF
sMPcVibu5grOPZHrx3YfYaX11Mt0mTt1HKojE+9j2NrMDa6zNs42c+7cWlOo3aq7
uSOyMs/4DSszt6XTFPsyldbYSqDH4UJmoVtDNIYC/yXPk8TZP2Jrdfj+1JbqvMIF
fokFlpjkqWqXciu1fnlcnkbEcFEwfjK7bDqVn50NWOhEmcJORSQy7SwuCm01m/7/
9r+8/vAXZ3WDhf0KDy06dhex8GFMAdvAj23+ApcrebQ=
Transición solo por enlaces que no contienen la palabra forum
  1. Añadir la opción Parse to level, en la lista seleccionar el valor 3 (transición por páginas adyacentes hasta el nivel 3).
  2. Añadir la opción Result format, como valor indicar $query.
  3. Añadir un filtro. Filtrar por $followlinks.$i.link - Link, seleccionar tipo No contiene la cadena, y como la cadena misma indicar forum.
  4. En la sección Queries (Consultas), marcar la opción Unique queries.
  5. En la sección Results (Resultados), marcar la opción Unique string.
  6. Como consulta, indicar el enlace al sitio del cual se requiere extraer los enlaces.
Descargar ejemplo

Cómo importar un ejemplo a A-Parser

eJxtVE1v2zAM/S/CDhuQJS2GXXxLgwbd4DZdm57SHISYzrTIkipRaQvD/33UR2xn
6ykh+R75+CG3DLk7uHsLDtCxYtMyE/+zglVQcy+RTZjh1oEN4Q27Wd+WRVEKdbh+
Q8t3qC0hemzL8N0AsbVBoZWjmKjIjClKOIIkz5FLT5hv3Qh+BGtFBSd8rW3DkaQk
BZnBPr14sO/Pz4qNuLWQCEFFhhcbokupXyWpDArCL9tOMnCdWErjTivkQo3yU1nf
kJ3Uk8MB9dBtt6fkbhmFBSnmcppn1Qcf+RHWOkmCwb0k6443sYGKI4ToNHX4+csU
30IGXlUi1OQyVQjTHqo+KfESBTq0Qu0JHwYhwC2tbsiNEJPE6ZwUbvK0Quc+8n8l
DivQepgwR2qXnLRUfaDm0lFE0Jg4bXaVl1i0TKu5lHGBAyymv/JCVnQd85pIPzLx
Y8jqvxxd3+G4FN3CqyUNfZZoXa1uB1alS72PW4z7bQSS7Rbaq7CbC3IeAEw/trsA
a7SFvkzOnKvTAzCgwuENW5ubwXXWxtlmzp10UbXYr/Ixn5BeremVrdRCN0ZC6Et5
KWkrDh6GC5m7vIZgDAL/JS9iibP3iVpL9/MxSTVW0AV+DwIbmuS4ak6541I+PZTj
CBsuiozfiKaYzfjX9PCnO93MWOAh7DUdFHXVbfvPQv/xaD/8OBRtR/v64+4TOjQX
sOSjKbn4yi67v8azl7c=

Datos recopilados

  • Número de enlaces externos
  • Número de enlaces internos
  • Enlaces externos:
    • los enlaces mismos
    • anclajes (anchors)
    • anclajes limpios de etiquetas HTML
    • parámetro nofollow
    • etiqueta <a> completa
  • Enlaces internos:
    • los enlaces mismos
    • anclajes (anchors)
    • anclajes limpios de etiquetas HTML
    • parámetro nofollow
    • etiqueta <a> completa
  • Matriz con todas las páginas recopiladas (se utiliza cuando la opción Use Pages está activa)

Capacidades

  • Extracción de datos multipágina (transición por páginas)
  • Transición por páginas internas del sitio hasta la profundidad especificada (opción Parse to level): permite recorrer todas las páginas del sitio, recopilando enlaces internos y externos
  • Límite de transiciones por páginas (opción Follow links limit)
  • Limpia automáticamente el anclaje de etiquetas HTML
  • Determinación de nofollow para cada enlace
  • Posibilidad de especificar si se deben considerar los subdominios como páginas internas del sitio
  • Soporta compresión gzip/deflate/brotli
  • Detección y conversión de codificaciones de sitios a UTF-8
  • Omisión de la protección de CloudFlare
  • Selección de motor (HTTP o Chrome)

Casos de uso

  • Obtención de un mapa completo del sitio (guardado de todos los enlaces internos)
  • Obtención de todos los enlaces externos de un sitio
  • Verificación de un enlace de retroceso (backlink) hacia su propio sitio

Consultas

Como consultas, es necesario indicar los enlaces a las páginas de las cuales se deben recopilar los enlaces, o el punto de entrada (por ejemplo, la página principal del sitio), en los casos en que se utiliza la opción Parse to level:

https://lenta.ru/
https://a-parser.com/wiki/index/

Ejemplos de salida de resultados

A-Parser admite un formateo flexible de resultados gracias al motor de plantillas integrado Template Toolkit, lo que le permite mostrar los resultados en forma libre, así como en forma estructurada, por ejemplo, CSV o JSON

Formato de resultado:

External links: $extcount\n$extlinks.format('$link\n')
Internal links: $intcount\n$intlinks.format('$link\n')

Ejemplo de resultado:

External links: 12
https://www.youtube.com/c/AParser_channel
https://t.me/a_parser
https://en.a-parser.com/
https://spyserp.com/ru/
https://sitechecker.pro/
https://arsenkin.ru/tools/
https://spyserp.com/
http://www.promkaskad.ru/
https://www.youtube.com/channel/UCvypGICrfCky8tPtebmIvQw
https://www.facebook.com/AParserRu
https://twitter.com/a_parser
https://www.youtube.com/c/AParser_channel

Internal links: 129
https://a-parser.com/
https://a-parser.com/
https://a-parser.com/a-parser-for-seo/
https://a-parser.com/a-parser-for-business-and-freelancers/
https://a-parser.com/a-parser-for-developers/
https://a-parser.com/a-parser-for-marketing-and-analytics/
https://a-parser.com/a-parser-for-e-commerce/
https://a-parser.com/a-parser-for-cpa/
https://a-parser.com/wiki/features-and-benefits/
https://a-parser.com/wiki/parsers/

Configuraciones posibles

Nombre del parámetroValor por defectoDescripción
Good statusAllSelección de qué respuesta del servidor se considerará exitosa. Si durante la extracción de datos hay otra respuesta del servidor, la consulta se repetirá con otro proxy
Good code RegExPosibilidad de especificar una expresión regular para verificar el código de respuesta
Ban Proxy Code RegExPosibilidad de banear el proxy temporalmente (Proxy ban time) basándose en el código de respuesta del servidor
MethodGETMétodo de consulta
POST bodyContenido para enviar al servidor al usar el método POST. Admite las variables $query – URL de la consulta, $query.orig – consulta original y $pagenum - número de página al usar la opción Use Pages.
CookiesPosibilidad de especificar cookies para la consulta.
User agent_Se inserta automáticamente el user-agent de la versión actual de Chrome_Encabezado User-Agent al solicitar páginas
Additional headersPosibilidad de especificar encabezados de consulta personalizados con soporte para las capacidades del motor de plantillas y el uso de variables del constructor de consultas
Read only headersLeer solo encabezados. En algunos casos permite ahorrar tráfico si no es necesario procesar el contenido
Detect charset on contentReconocer la codificación basándose en el contenido de la página
Emulate browser headersEmular encabezados de navegador
Max redirects count0Número máximo de redirecciones que seguirá el extractor
Follow common redirectsPermite realizar redirecciones http <-> https y www.domain <-> domain dentro de un mismo dominio omitiendo el límite de Max redirects count
Max cookies count16Número máximo de cookies a guardar
EngineHTTP (Fast, JavaScript Disabled)Permite elegir el motor HTTP (más rápido, sin JavaScript) o Chrome (más lento, JavaScript habilitado)
Chrome HeadlessSi la opción está activada, el navegador no se mostrará
Chrome DevToolsPermite utilizar herramientas de depuración de Chromium
Chrome Log Proxy connectionsSi la opción está activada, se mostrará información sobre las conexiones de chrome en el registro
Chrome Wait Untilnetworkidle2Determina cuándo se considera que la página ha cargado. Más información sobre los valores.
Use HTTP/2 transportDetermina si se debe usar HTTP/2 en lugar de HTTP/1.1. Por ejemplo, Google y Majestic banean inmediatamente si se usa HTTP/1.1.
Don't verify TLS certsDesactivación de la validación de certificados TLS
Randomize TLS FingerprintEsta opción permite omitir el baneo de sitios por huella TLS
Bypass CloudFlareOmisión automática de la verificación de CloudFlare
Bypass CloudFlare with Chrome(Experimental)Omisión de CF a través de Chrome
Bypass CloudFlare with Chrome Max Pages20Número máx. de páginas al omitir CF a través de Chrome
Subdomains are internalSi se deben considerar los subdominios como enlaces internos
Follow linksInternal onlyQué enlaces seguir
Follow links limit0Límite de Follow links, se aplica a cada dominio único
Skip comment blocksSi se deben omitir los bloques de comentarios