WP Manifestindependent plugin directory
manifest / content / wp-simple-scraper

WP Simple Scraper

Plugin de WordPress en PHP para web scraping: extrae el contenido principal o por selector CSS de cualquier página, con limpieza de HTML y modo texto.

by Joaquín Dati · github.com/joaquindati/wp-simple-scraper · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/joaquindati/wp-simple-scraper/archive/refs/heads/main.zip

WP Simple Scraper: plugin de web scraping para WordPress

Plugin de WordPress en PHP para hacer web scraping desde el panel de administración. Pegas una URL y extrae el contenido principal de la página de forma automática, o solo la parte que indiques con un selector CSS. El resultado se puede limpiar de HTML o pasar a texto plano, listo para copiar.

🇬🇧 English: WordPress web scraping plugin in PHP. Extract the main content of any public web page, or just the part matching a CSS selector, from the WordPress admin, with HTML cleanup and plain-text mode. Built on DOMDocument + XPath, with SSRF protection.

Características

  • Detección automática del contenido principal: busca article, main, #content y otros contenedores habituales, sin que tengas que indicar nada.

  • Selectores CSS convertidos a XPath:

    Selector Extrae
    #content el elemento con id="content"
    .article los elementos con la clase article (palabra completa)
    article.post los <article> con la clase post
    .post .content .content dentro de .post (descendiente)
    ul > li los <li> hijos directos de un <ul>
    a[href], input[type="text"] por atributo, con o sin valor
    h1, .lead varios selectores a la vez

    Con varias coincidencias, las devuelve todas hasta el máximo de resultados de los ajustes.

  • Limpieza de HTML: quita scripts, estilos y comentarios.

  • Modo solo texto: sin etiquetas, sin el código de scripts y con un salto de línea entre párrafos.

  • Ajustes: user agent, tiempo de espera y máximo de resultados.

  • Seguro:

    • solo lo usan administradores (manage_options) y cada pedido lleva nonce;
    • solo acepta http y https;
    • rechaza direcciones de red interna, como 10.x, 192.168.x, 127.0.0.1 y 169.254.169.254, para que el servidor no se pueda usar contra sí mismo (SSRF).

Instalación

  1. Clona el repo en wp-content/plugins/, o súbelo como ZIP desde Plugins → Añadir nuevo:
    cd wp-content/plugins
    git clone https://github.com/Joaquindati/wp-simple-scraper.git
  2. Activa WP Simple Scraper.
  3. Entra en Simple Scraper (menú lateral), pega la URL y, si quieres, un selector CSS.
  4. Ajusta el user agent, el tiempo de espera y el máximo de resultados en Simple Scraper → Ajustes.

Cómo funciona

includes/class-scraper.php     descarga (wp_safe_remote_get) y extracción con DOMDocument + XPath
includes/class-admin-menu.php  menú, pantalla y petición AJAX
includes/class-settings.php    ajustes (Settings API)
templates/                     pantallas del panel
assets/                        JavaScript y estilos del panel

Requisitos

WordPress 5.8+ · PHP 7.4+ con las extensiones DOM y libxml (probado con PHP 8.3 y 8.4).

Limitaciones

  • No ejecuta JavaScript: lo que una página arma en el navegador (SPAs) no aparece.
  • Algunos sitios bloquean las peticiones automatizadas.
  • El resultado se muestra para copiar: no se guarda solo como entrada.
  • Respeta los términos de uso y el robots.txt de cada sitio, y los derechos de autor del contenido.

Autor

Joaquín Dati, desarrollador WordPress y full stack. joaquindati.com

Licencia GPL v2 o posterior.