Aumente rápidamente el volumen de lectura de blogs a través de la IP del proxy del rastreador Python

Prefacio

La IP del proxy del rastreador de Python le permite aumentar rápidamente el volumen de lectura de su blog porque le permite evitar algunas restricciones anti-rastreador. Este artículo compartirá cómo usar las IP del proxy del rastreador de Python y cómo usarlas para obtener más lecturas de blogs.

1. ¿Qué es la IP proxy?

Una IP proxy es una dirección IP utilizada en un entorno de red para ocultar la dirección IP real. En los rastreadores, las IP proxy se utilizan a menudo para eludir algunas restricciones anti-rastreadores, lo que dificulta su identificación y prohibición.

2. Obtener IP proxy

Hay varias formas de obtener IP de proxy. Algunos recursos de IP de proxy públicos en Internet a menudo están bloqueados, por lo que debemos comprar algunas IP de proxy estables nosotros mismos.

Aquí se recomiendan varios servicios de IP proxy:

  1. Agente del sitio web: https://www.zdaye.com
  2. Agente de noticias: https://www.xdaili.com

Estos proveedores de servicios de IP proxy proporcionan interfaces API y podemos obtener la IP del proxy a través de sus API.

Tomando el proxy del sitio web como ejemplo, obtenga la IP del proxy gratuito mediante la solicitud GET:

import requests

def get_proxy():
    try:
        response = requests.get('https://www.zdaye.com/free/')
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None

Lo que se devuelve es una página web HTML. Necesitamos usar expresiones regulares para extraer la dirección IP y el número de puerto:

import re

def parse_proxy(html):
    pattern = re.compile('<tr.*?>\s*?<td data-title="IP">(.*?)</td>\s*?<td data-title="PORT">(.*?)</td>.*?</tr>', re.S)
    items = re.findall(pattern, html)
    for item in items:
        yield item[0] + ':' + item[1]

Aquí hay una explicación de lo que significan las expresiones regulares:

  • `<tr.*?>`: Coincide con etiquetas <tr>
  • `\s*?`: Coincide con 0 o más caracteres de espacio en blanco
  • `<td data-title="IP">(.*?)</td>`: Haga coincidir la dirección IP entre <td data-title="IP"> y </td>
  • `\s*?`: Coincide con 0 o más caracteres de espacio en blanco
  • `<td data-title="PORT">(.*?)</td>`: haga coincidir el número de puerto entre <td data-title="PORT"> y </td>
  • `.*?</tr>`: Haga coincidir el contenido entre <tr> y </tr>

3. Utilice IP proxy

Con las IP proxy, podemos usarlas para rastrear blogs. Aquí tomamos el rastreo de CSDN como ejemplo.

Primero, debemos seleccionar aleatoriamente una IP proxy:

import random

proxy_list = ['123.206.189.74:1080', '118.24.61.212:1080', '118.24.61.213:1080']
PROXY = random.choice(proxy_list)
proxies = {'http': 'http://{proxy}'.format(proxy=PROXY), 'https': 'https://{proxy}'.format(proxy=PROXY)}

La biblioteca aleatoria de Python se utiliza aquí para seleccionar aleatoriamente una IP proxy. El parámetro de proxy es un diccionario, la clave es el protocolo y el valor es la IP del proxy.

Luego, necesitamos usar la biblioteca de solicitudes para iniciar solicitudes HTTP y configurar los parámetros de los servidores proxy:

import requests

url = 'https://blog.csdn.net/xxx/article/details/xxx'
response = requests.get(url, proxies=proxies)

Debe reemplazarse con la dirección del blog que desea visitar. Si la IP del proxy no está disponible, la biblioteca de solicitudes generará automáticamente una excepción ProxyError. Podemos detectar esta excepción y volver a seleccionar una IP del proxy:

from requests.exceptions import ProxyError

while True:
    try:
        response = requests.get(url, proxies=proxies)
        break
    except ProxyError:
        PROXY = random.choice(proxy_list)
        proxies = {'http': 'http://{proxy}'.format(proxy=PROXY), 'https': 'https://{proxy}'.format(proxy=PROXY)}

Aquí se utiliza un bucle while para seguir intentando hasta que tenga éxito.

4. Código completo

El siguiente es el código completo, incluidas funciones como obtener IP de proxy, seleccionar IP de proxy aleatoriamente, acceder a blogs y volver a intentarlo. Puedes modificarlo según tus necesidades.

import requests
import re
import random
from requests.exceptions import ProxyError

PROXY_LIST = ['123.206.189.74:1080', '118.24.61.212:1080', '118.24.61.213:1080']

def get_proxy():
    try:
        response = requests.get('https://www.zdaye.com/free/')
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None

def parse_proxy(html):
    pattern = re.compile('<tr.*?>\s*?<td data-title="IP">(.*?)</td>\s*?<td data-title="PORT">(.*?)</td>.*?</tr>', re.S)
    items = re.findall(pattern, html)
    for item in items:
        yield item[0] + ':' + item[1]

def get_random_proxy():
    PROXY = random.choice(PROXY_LIST)
    proxies = {'http': 'http://{proxy}'.format(proxy=PROXY), 'https': 'https://{proxy}'.format(proxy=PROXY)}
    return proxies

def retry_get(url, retry_times=3):
    while retry_times > 0:
        try:
            proxies = get_random_proxy()
            response = requests.get(url, proxies=proxies)
            if response.status_code == 200:
                return response.text
        except ProxyError:
            pass
        retry_times -= 1
    return None

if __name__ == '__main__':
    url = 'https://blog.csdn.net/xxx/article/details/xxx'
    html = retry_get(url)

5. Precauciones

Aunque el uso de una IP proxy puede eludir las restricciones anti-rastreadores hasta cierto punto, el sitio web reconocerá el uso excesivo como acceso malicioso y la IP será prohibida. Por lo tanto, debe prestar atención a los siguientes puntos cuando utilice IP proxy:

  • Elija un proveedor de servicios de IP de proxy estable para evitar cambios frecuentes de IP de proxy.
  • Seleccione aleatoriamente la IP del proxy para evitar usar la misma IP.
  • No abusar del proxy IP. Se recomienda no utilizar el proxy IP en más del 30% de las visitas.

6. Resumen

Este artículo presenta cómo utilizar la IP del proxy del rastreador Python para aumentar rápidamente el volumen de lectura de blogs. Funciones como obtener una IP de proxy, seleccionar una IP de proxy aleatoriamente, acceder a blogs y volver a intentarlo se pueden implementar a través de Python. Al utilizar una IP proxy, debe prestar atención a la estabilidad y el uso para evitar que se le prohíba el acceso a la IP.

Supongo que te gusta

Origin blog.csdn.net/wq10_12/article/details/133306456
Recomendado
Clasificación