HTML::LinkExtractor - Extractor de enlaces externos e internos de un sitio web especificado
Descripción general del extractor

HTML::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

- 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). - Añadir la opción Result format, como valor indicar
$extlinks.format('$link\n')(salida de enlaces externos). - En la sección Queries (Consultas), marcar la opción
Unique queries. - En la sección Results (Resultados), marcar la opción
Unique string. - 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=
sugerencia
Recopilación de todos los enlaces internos de un sitio
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

- 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). - Añadir la opción Result format, como valor indicar
$query. - Añadir un filtro. Filtrar por
$followlinks.$i.link - Link, seleccionar tipoNo contiene la cadena, y como la cadena misma indicarforum. - En la sección Queries (Consultas), marcar la opción
Unique queries. - En la sección Results (Resultados), marcar la opción
Unique string. - 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=
sugerencia
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
Salida de enlaces externos e internos con su cantidad
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
nota
| Nombre del parámetro | Valor por defecto | Descripción |
|---|---|---|
| Good status | All | Selecció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 RegEx | Posibilidad de especificar una expresión regular para verificar el código de respuesta | |
| Ban Proxy Code RegEx | Posibilidad de banear el proxy temporalmente (Proxy ban time) basándose en el código de respuesta del servidor | |
| Method | GET | Método de consulta |
| POST body | Contenido 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. | |
| Cookies | Posibilidad 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 headers | Posibilidad 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 headers | ☐ | Leer solo encabezados. En algunos casos permite ahorrar tráfico si no es necesario procesar el contenido |
| Detect charset on content | ☐ | Reconocer la codificación basándose en el contenido de la página |
| Emulate browser headers | ☐ | Emular encabezados de navegador |
| Max redirects count | 0 | Número máximo de redirecciones que seguirá el extractor |
| Follow common redirects | ☑ | Permite realizar redirecciones http <-> https y www.domain <-> domain dentro de un mismo dominio omitiendo el límite de Max redirects count |
| Max cookies count | 16 | Número máximo de cookies a guardar |
| Engine | HTTP (Fast, JavaScript Disabled) | Permite elegir el motor HTTP (más rápido, sin JavaScript) o Chrome (más lento, JavaScript habilitado) |
| Chrome Headless | ☐ | Si la opción está activada, el navegador no se mostrará |
| Chrome DevTools | ☑ | Permite utilizar herramientas de depuración de Chromium |
| Chrome Log Proxy connections | ☑ | Si la opción está activada, se mostrará información sobre las conexiones de chrome en el registro |
| Chrome Wait Until | networkidle2 | Determina cuándo se considera que la página ha cargado. Más información sobre los valores. |
| Use HTTP/2 transport | ☐ | Determina 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 certs | ☐ | Desactivación de la validación de certificados TLS |
| Randomize TLS Fingerprint | ☐ | Esta opción permite omitir el baneo de sitios por huella TLS |
| Bypass CloudFlare | ☑ | Omisió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 Pages | 20 | Número máx. de páginas al omitir CF a través de Chrome |
| Subdomains are internal | ☐ | Si se deben considerar los subdominios como enlaces internos |
| Follow links | Internal only | Qué enlaces seguir |
| Follow links limit | 0 | Límite de Follow links, se aplica a cada dominio único |
| Skip comment blocks | ☐ | Si se deben omitir los bloques de comentarios |