IPIPGO proxy ip PHP analizando HTML: tutoriales DOMDocument

PHP analizando HTML: tutoriales DOMDocument

PHP para atrapar la web debe: DOMDocument niñera nivel de enseñanza La recopilación de datos de la vieja plancha debe haber encontrado con este problema: el sitio de destino para cambiar la estructura HTML de la madre de los padres no saben, escribir un buen script de rastreo directamente huelga. Hoy utilizamos PHP viene con el componente DOMDocument, de la mano para enseñarle a optimizar ...

PHP analizando HTML: tutoriales DOMDocument

PHP agarrar la página debe: DOMDocument niñera enseñanza

El hierro viejo dedicado a la recopilación de datos debe haber encontrado con este problema: el sitio de destino para cambiar la estructura HTML de la madre de los padres no saben, escribir un buen script de rastreo directamente huelga. Hoy en día, vamos a utilizar propio componente DOMDocument de PHP para enseñarle cómo elegantemente desmontar la estructura de la página web, y luego con elipipgoEl servicio proxy IP garantiza que la recogida sea tan constante como un perro viejo.

En primer lugar, ¿por qué utilizar una IP proxy para captar datos?

Muchos sitios web están instalados "sistema de control de acceso", la misma IP visitas frecuentes tirar inmediatamente negro. En este momento es necesario comoipipgoUn servicio proxy profesional de este tipo es como preparar un montón de "suplentes" para el rastreador. Por poner un ejemplo:


$proxy = 'http://username:password@gateway.ipipgo.io:9020';
$context = stream_context_create([
    'http' => ['proxy' => $proxy]
]);
$html = file_get_contents('URL de destino', false, $context);

El gateway.ipipgo.io de este código es su portal de enrutamiento inteligente, que asigna automáticamente los nodos más adecuados. Tras hacer pruebas con su proxy, la probabilidad de ser bloqueado bajó de 80% a menos de 5%.

En segundo lugar, DOMDocument funcionamiento básico de los tres ejes

Una vez que tenemos el código fuente de la página web, vamos a empezar a desmontar las piezas:


$dom = nuevo DOMDocument();
@$dom->loadHTML($html); // enmascarar el mensaje de advertencia con @
$xpath = new DOMXPath($dom);

// Ejemplo: coger todos los precios de los productos
$prices = $xpath->query('//span[@class="precio"]'); }; $prices = $xpath->query('//span[@class="precio"]'); }
foreach ($prices as $node) {
    echo $node->nodeValue."";
}

Cuidado con estos dos baches:

1. Los problemas de codificación de las páginas web se solucionan con mb_convert_encoding
2. Ignorar errores de análisis HTML con símbolos @.

III. Práctico: programa dinámico de adquisición de sitios web

Cuando te encuentres con un sitio web que carga datos con JS, puedes hacer recolección distribuida con IP proxy. Por ejemplo, configure el clúster de recopilación así:

Tipo de nodo concurrencia estrategia de cambio
IP residencial doméstica 10 hilos Cambio de IP a petición
Centro de datos IP en el extranjero 5 hilos Cambios de IP por hora

gasto o desembolsoipipgoAPI para obtener el pool de IPs:


$ip_list = json_decode(file_get_contents('https://api.ipipgo.com/getips?type=http&num=20'));

IV. Botiquín de primeros auxilios para problemas comunes

P: ¿Qué debo hacer si no puedo conectarme a la IP del proxy?
A:Primero compruebe el formato de información de autenticación, utilice la herramienta "test de conexión" proporcionada por ipipgo background diagnosis.

P: ¿El XPath está escrito correctamente pero no puede capturar los datos?
R: 80% de la página web tiene iframe, primero utilice el posicionamiento regular al marco específico y luego analizar el

P: ¿Retraso repentino en las adquisiciones?
R: Puede haber disparado el límite de velocidad de la web, se sugiere añadir tiempo de espera aleatorio en el código:


sleep(rand(1, 3)); // dormir aleatoriamente 1-3 segundos

V. Ventajas ocultas del ipipgo

Además de los servicios básicos de la agencia, su familia tiene otras dos características asesinas:

1. Sistema inteligente de reintentosConmutación automática de IP no válidas
2. Interfaz de limpieza de datosFiltrado automático de contenidos duplicados

Por último dar un consejo: no utilice sleep(0) en el código de recolección, control de viento del sitio web no es vegetariana. Utilice proxy IP + retardo aleatorio + triple protección de conmutación automática, con el fin de dejar que el script de colección larga vida.

Este artículo fue publicado o recopilado originalmente por ipipgo.https://www.ipipgo.com/es/ipdaili/36343.html

escenario empresarial

Descubra más soluciones de servicios profesionales

💡 Haz clic en el botón para obtener más detalles sobre los servicios profesionales

Profesional extranjero proxy ip proveedor de servicios-IPIPGO

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Póngase en contacto con nosotros

Póngase en contacto con nosotros

13260757327

Consulta en línea. Chat QQ

Correo electrónico: hai.liu@xiaoxitech.com

Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
Seguir WeChat
Síguenos en WeChat

Síguenos en WeChat

Volver arriba
es_ESEspañol