Cuando mi compañero de cuarto comió fideos instantáneos, descargué miles de fondos de pantalla de teléfonos móviles con una docena de líneas de código Python

Los fondos de pantalla para celular y para computadora, para la mayoría de los compatriotas masculinos, ¿no es lo favorito para lucir bien? Muchos de ellos se pueden descargar en minutos con una docena de líneas de código, y no se pueden usar. Vamos. , ¡enséñalo!


1. Si quieres hacer algo bueno, primero debes afilar sus herramientas

1. Entorno de desarrollo

Aquí usamos el entorno Python, siempre que no sea Python 2. Para el editor, use pycharm. Hay muchas herramientas convenientes en la versión 21. Quien lo use sabe, no entraré en detalles.

Si no hay un software que se pueda descargar del sitio web oficial, también puede escanear el código a la izquierda o al final del artículo para obtenerlo, y hay formas de usar pycharm de forma permanente.

2. Módulos de terceros

requests 
parsel 

solicitudes es un módulo de solicitud de datos, y parsel es un módulo para extraer datos y analizar, que puede instalarse directamente por pip

3. Instalar módulos y problemas

  • Si instala módulos de terceros de Python:
    1. win + R Ingrese cmd Haga clic en Aceptar, ingrese el nombre del módulo de instalación del comando de instalación pip (solicitudes de instalación de pip) Ingrese
    2. Haga clic en Terminal en pycharm para ingresar el comando de instalación
  • Motivo del error de instalación:
    • Fallo 1: pip no es un comando interno
      Solución: establecer variables de entorno

    • Error 2: hay muchos informes rojos (tiempo de espera de lectura)
      Solución: debido a que el enlace de la red se agotó, debe cambiar la fuente del espejo
      Tsinghua: https://pypi.tuna.tsinghua.edu.cn/simpleAlibaba
      cloud: http://mirrors .aliyun.com/pypi/simple/ Universidad de Ciencia y Tecnología
      de China https://pypi.mirrors.ustc.edu.cn/simple/Huazhong
      Universidad de Ciencia y Tecnología: http://pypi. hustunique.com/Universidad
      Tecnológica de Shandong
      : http://pypi.sdutlinux.org/ Douban: http://pypi.douban.com/simple/
      Por ejemplo: pip3 install -i https://pypi.doubanio.com/ simple/nombre del módulo

    • Falla 3: El cmd muestra que se ha instalado, o la instalación fue exitosa, pero aún no se puede importar en pycharm
      Solución: Puede haber varias versiones de python instaladas (anaconda o python pueden instalar una), simplemente desinstale una
      o puede ponerlo en pycharm python intérprete no configurado

2. Proceso

1. Análisis de la fuente de datos
¿Qué es el sitio web de rastreo y qué tipo de contenido de datos desea obtener del sitio web, por
ejemplo, rastrear imágenes, analizar a partir de una imagen,
realizar análisis de captura de paquetes a través de herramientas de desarrollo y comparar algunos parámetros ? de la dirección url de la imagen que queremos;

2. Pasos para implementar el código del rastreador:
1) Enviar una solicitud y enviar una solicitud para la dirección URL obtenida del análisis

  • URL de solicitud
  • Método
    de solicitud Parámetros de encabezado de solicitud >>> Disguise puede disfrazar el código python como un navegador (cliente) para enviar una solicitud
    ¿Qué sucederá si no lo disfraza >>> no le devolverá los datos que desea;

2) Obtenga los datos, obtenga los datos de respuesta devueltos por el servidor de respuesta;
3) Analice los datos, extraiga la dirección URL de la imagen y el título de la imagen del contenido de datos que queremos;
4) Guarde los datos, guarde los datos de la imagen localmente;

3. Visualización de código

1. Importar el módulo

import requests
import parsel 

2. Enviar una solicitud

  • El parámetro de encabezado de solicitud de encabezados se puede copiar directamente en la herramienta para desarrolladores, seguido del tipo de datos del diccionario de encabezados, par clave-valor
  • agente de usuario: el agente de usuario representa la identidad básica del navegador
  • cookie: información del usuario, para detectar si el usuario tiene una cuenta de inicio de sesión
for page in range(2, 11):
    url = f'https://sj..com/woman/{page}.html'
    headers = {
    
    
        'cookie': 't=f2cf055ce8713058cbfdbd1561c38e86; r=1281; Hm_lvt_86200d30c9967d7eda64933a74748bac=1645625923,1646892448; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1646894465',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)   #  <Response [200]> 返回响应对象 200状态码标识请求成功

3. Obtener datos

Obtenga el contenido de los datos devueltos por el servidor y obtenga los datos de texto del objeto de respuesta.

print(response.text)

La cadena de datos devuelve el contenido de los datos, que es diferente de lo que vimos en las herramientas para desarrolladores, lo que significa que el servidor lo reconoce como su rastreador, por lo que no le devuelve datos.

4. Analizar los datos

El css selector xpath re se puede usar en los tres métodos de análisis para elegir el más adecuado

selector css: extraer contenido de datos en función de los atributos de la etiqueta

Convierta el tipo de datos en un objeto selector para obtener respuesta.texto

attr() atributo selector.egeli_pic_li .egeli_pic_dl dd a

img son etiquetas de posicionamiento, diga qué etiqueta es

img::attr(src) Obtener datos de atributo src en la etiqueta img getall() Obtener todos los datos del contenido de la etiqueta Devolver el tipo de datos de la lista

selector = parsel.Selector(response.text)
src = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(src)').getall()
alt = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(alt)').getall()
for img_url, title in zip(src, alt):
    img_url = img_url.replace('edpic_360_360', 'edpic_source')

4. Guardar datos

img_content = requests.get(url=img_url, headers=headers).content  # 获取二进制数据内容
with open('img\\' + title + '.jpg', mode='wb') as f:
    f.write(img_content)
print(img_url, title)

En cuarto lugar, la pantalla de efectos

El efecto de rastreo
es suficiente para los fondos de pantalla.
inserte la descripción de la imagen aquíHermanos, estoy cansado de leer el artículo. Denme un poco de ejercicio para mis manos. Ayúdenme a gustar y favorito. Será más interesante la próxima vez.

Supongo que te gusta

Origin blog.csdn.net/fei347795790/article/details/123482652
Recomendado
Clasificación