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
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.zipWP 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,#contenty otros contenedores habituales, sin que tengas que indicar nada. -
Selectores CSS convertidos a XPath:
Selector Extrae #contentel elemento con id="content".articlelos elementos con la clase article(palabra completa)article.postlos <article>con la clasepost.post .content.contentdentro de.post(descendiente)ul > lilos <li>hijos directos de un<ul>a[href],input[type="text"]por atributo, con o sin valor h1, .leadvarios 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
httpyhttps; - rechaza direcciones de red interna, como
10.x,192.168.x,127.0.0.1y169.254.169.254, para que el servidor no se pueda usar contra sí mismo (SSRF).
- solo lo usan administradores (
Instalación
- 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 - Activa WP Simple Scraper.
- Entra en Simple Scraper (menú lateral), pega la URL y, si quieres, un selector CSS.
- 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.txtde 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.