¿Cómo puedo descargar por lotes estos videos con python? Fácil de implementar en solo 15 líneas de código

Diciendo que la vida es demasiado corta, uso Python.

¡No tendría sentido aprender Python si no fuera por descargar estos videos!
Ahhh, viejo bastardo


Ejem, pongámonos manos a la obra.

1. Preludio

En primer lugar, si no tiene Python y pycharm instalados, instálelos usted mismo y no escribiré sobre la instalación.

Si quieres ver el videotutorial, puedes escanear el código de la izquierda, he grabado especialmente un video explicativo.

Luego está el módulo, o el jefe del rastreador, las solicitudes, que se pueden instalar directamente por pip, y las solicitudes son el módulo de solicitud de datos.

win+r para abrir el cuadro de ejecución, ingrese cmd y presione Entrar, ingrese las solicitudes de instalación de pip en la ventana emergente del símbolo del sistema y presione Entrar para completar la instalación.

  • Motivos del error de instalación
    1. pip no es un comando interno, la solución (establecer la variable de entorno)
    2. Hay muchos informes rojos (tiempo de espera de lectura), la solución (porque se agotó el tiempo de espera del enlace de red, la fuente espejo necesita para ser cambiado)
    3. El cmd muestra que se ha instalado Ha pasado, o la instalación es exitosa, pero aún no se puede importar en pycharm, la solución (se puede instalar con múltiples versiones de python (anaconda o python pueden instalar una ), simplemente desinstale uno, o el intérprete de python en su pycharm no está configurado)

fuente de espejo

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:https://pypi.hustunique.com/
山东理工大学:https://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/

Metodo de instalacion

P.ej

pip3 install -i https://pypi.doubanio.com/simple/ 模块名

¿Cómo configurar el intérprete de python en pycharm?

  1. Seleccionar archivo >>> configuración >>> Proyecto >>> intérprete de python (intérprete de python)
  2. Haga clic en el engranaje, seleccione agregar.
  3. Agregar ruta de instalación de python

¿Cómo instala pycharm los complementos?

  1. Seleccionar archivo >>> configuración >>> Complementos
  2. Haga clic en Marketplace e ingrese el nombre del complemento que desea instalar, como: traducción de entrada de complemento de traducción, entrada de complemento chino Chino
  3. Seleccione el complemento correspondiente y haga clic en instalar.
  4. Después de que la instalación sea exitosa, aparecerá la opción para reiniciar pycharm, haga clic en Aceptar y el reinicio surtirá efecto.

2. Texto

El preludio ha terminado, vayamos directo al tema...

Eliminé la dirección clave, la primera v.6 y la segunda haokan.baidu

1. Proceso de pensamiento

¿Cómo hacemos para implementar un caso de gusano?

La estructura de datos de cada sitio web es diferente, y debe volver a analizar y capturar los paquetes usted mismo, pero este proceso es básicamente el mismo para los errores de pa.

1. Análisis de la fuente de datos

  • Primero, determine su propia dirección de destino y fuente de datos de destino, y determine la dirección URL;
  • Análisis de captura de paquetes a través de herramientas de desarrollo;

2. Proceso de implementación del código

  • Envíe una solicitud, envíe una solicitud para la dirección URL que acaba de analizar;
  • Obtener datos, obtener los datos de respuesta devueltos por el servidor;
  • Analice los datos, extraiga el contenido que queremos, la dirección URL de reproducción del video y el título del video;
  • Guardar datos, guardar la carpeta local;

2. Pantalla de código

Primero importa el módulo

import requests
import re

re es una expresión regular es un módulo, integrado, no es necesario instalarlo. Simplemente instale las solicitudes y eso es todo.

Enviar petición

Envíe una solicitud a la dirección URL recién analizada

I. URL de la URL de solicitud [entendida como un número de teléfono],
II. Método de solicitud,
III. Qué parámetros, encabezado de solicitud, tipo de datos del diccionario y forma de par clave-valor deben agregarse para ocultar los encabezados;

for page in range(26, 29):
    print(f'====================================正在采集第{page}页数据内容====================================')
    url = f'https://minivideo/getMiniVideoList.php?act=recommend&page={page}&pagesize=25'
    headers = {
    
    
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)

<Respuesta [200]> Devuelve el objeto de respuesta de respuesta con el código de estado 200 que indica que la solicitud se realizó correctamente.

recuperar datos

Obtener los datos de respuesta devueltos por el servidor

response.text 获取响应体文本数据           字符串数据类型
response.json() 获取响应体json字典数据     字典数据类型

Si los datos devueltos están en un formato de datos json completo, puede obtener directamente response.json() para la conveniencia de extraer el contenido más adelante.
El valor del diccionario es más conveniente, puede extraer directamente el contenido de los datos de acuerdo con el par clave-valor y extraer el contenido a la derecha de los dos puntos de acuerdo con el contenido a la izquierda de los dos puntos.

Primero tome el contenido y luego tome la lista, el retorno es la lista de datos.

print(response.text)
print(response.json()['content']['list'])

La lista devuelta contiene la información de datos del video. No tomaré una captura de pantalla de la siguiente dirección, me temo ~

Datos analíticos

Extraiga el contenido que queremos, la dirección URL de reproducción del video y el título del video.

for index in response.json()['content']['list'][14:]:
    title = index['title']
    play_url = index['playurl']  # 快速复制 ctrl + D
    new_title = re.sub(r'[\/:*?"|<>]', '', title)
    print(title, play_url)

guardar datos

video_content = requests.get(url=play_url).content
with open('video\\' + new_title + '.mp4', mode='wb') as f:
    f.write(video_content)
print('视频保存完成: ', title, play_url)

Reponer

json obtener datos

import requests
import re
import json
url = 'https://com/web/search/api?pn=4&rn=10&type=video&query=%E7%BE%8E%E5%A5%B3'
headers = {
    
    
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'
}
json_data = requests.get(url=url, headers=headers).json()
for index in json_data['data']['list']:
    index_url = index['url']
    html_data = requests.get(url=index_url, headers=headers).text
    video_info = re.findall('window.__PRELOADED_STATE__ = (.*?);.*?document', html_data)[0]
    json_data_1 = json.loads(video_info)
    title = json_data_1['curVideoMeta']['title']
    video_url = json_data_1['curVideoMeta']['clarityUrl'][-1]['url']
    print(title, video_url)

3. Visualización de resultados

inserte la descripción de la imagen aquí
Hermanos, ya está aquí el compartir de hoy, recuerden darle me gusta y favoritos!

Supongo que te gusta

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