Como posso baixar esses vídeos em lote com python? Fácil de implementar em apenas 15 linhas de código

Dizendo que a vida é muito curta, eu uso Python.

Seria inútil aprender python se não fosse para baixar esses vídeos!
Ahhh, velho bastardo


Aham, vamos ao que interessa.

1. Prelúdio

Em primeiro lugar, se você não tiver o Python e o pycharm instalados, instale-o você mesmo e não escreverei sobre a instalação.

Se você quiser assistir ao tutorial em vídeo, você pode escanear o código do lado esquerdo. Gravei especialmente um vídeo explicativo.

Depois, há o módulo, ou o chefe do rastreador, solicitações, que podem ser instaladas diretamente pelo pip, e as solicitações são o módulo de solicitação de dados.

win+r para abrir a caixa de execução, digite cmd e pressione Enter, digite as solicitações de instalação do pip na janela pop-up do prompt de comando e pressione Enter para concluir a instalação.

  • Razões para falha de instalação
    1. pip não é um comando interno, a solução (defina a variável de ambiente)
    2. Há muitos relatórios vermelhos (tempo limite de leitura), a solução (porque o link de rede expirou, a fonte do espelho precisa
    3. O cmd mostra que foi instalado Passou, ou a instalação foi bem sucedida, mas ainda não pode ser importada no pycharm, a solução (pode ser instalada com várias versões do python (anaconda ou python pode instalar uma ), apenas desinstale um, ou o interpretador python em seu pycharm não está configurado)

fonte de espelho

清华: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/

Método de instalação

Por exemplo

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

Como configurar o interpretador python no pycharm?

  1. Selecione o arquivo >>> configuração >>> Projeto >>> interpretador python (interpretador python)
  2. Clique na engrenagem, selecione adicionar.
  3. Adicionar caminho de instalação do python

Como o pycharm instala plugins?

  1. Selecione o arquivo >>> configuração >>> Plugins
  2. Clique em Marketplace e digite o nome do plug-in que deseja instalar, como: tradução de entrada de plug-in de tradução, entrada de plug-in de chinês chinês
  3. Selecione o plug-in correspondente e clique em instalar.
  4. Após a instalação ser bem-sucedida, a opção de reiniciar o pycharm aparecerá, clique em OK e a reinicialização terá efeito.

2. Texto

O prelúdio acabou, vamos direto ao assunto...

Apaguei o endereço da chave, o primeiro v.6 e o ​​segundo haokan.baidu

1. Processo de pensamento

Como vamos implementar um caso de worm?

A estrutura de dados de cada site é diferente e você precisa reanalisar e capturar pacotes por conta própria, mas esse processo é basicamente o mesmo para bugs pa.

1. Análise da fonte de dados

  • Primeiro, determine seu próprio endereço de destino e fonte de dados de destino e determine o endereço de URL;
  • Análise de captura de pacotes por meio de ferramentas de desenvolvedor;

2. Processo de implementação do código

  • Envie uma solicitação, envie uma solicitação para o endereço de url que acabou de analisar;
  • Obter dados, obter os dados de resposta retornados pelo servidor;
  • Analisar os dados, extrair o conteúdo que desejamos, o endereço da url de reprodução do vídeo e o título do vídeo;
  • Salve os dados, salve a pasta local;

2. Exibição de código

Primeiro importe o módulo

import requests
import re

re é uma expressão regular é um módulo, embutido, não precisa instalar. Basta instalar solicitações e pronto.

enviar pedido

Envie uma solicitação para o endereço de url que acabou de analisar

I. URL do URL de solicitação [entendido como um número de telefone]
II. Método de solicitação
III. Quais parâmetros, cabeçalho da solicitação, tipo de dados do dicionário e forma do par chave-valor precisam ser adicionados para disfarçar os cabeçalhos;

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)

<Response [200]> Retorna o objeto de resposta de resposta com código de status 200 indicando que a solicitação foi bem-sucedida.

recuperar dados

Obtenha os dados de resposta retornados pelo servidor

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

Se os dados retornados estiverem em um formato de dados json completo, você poderá obter diretamente response.json() para a conveniência de extrair o conteúdo posteriormente.
O valor do dicionário é mais conveniente, você pode extrair diretamente o conteúdo dos dados de acordo com o par chave-valor e extrair o conteúdo à direita dos dois pontos de acordo com o conteúdo à esquerda dos dois pontos.

Primeiro pegue o conteúdo e depois pegue a lista, o retorno são os dados da lista.

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

A lista retornada contém as informações de dados do vídeo. Não farei uma captura de tela do seguinte endereço, receio ~

Dados analíticos

Extraia o conteúdo que queremos, o endereço do URL de reprodução do vídeo e o título do vídeo.

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 dados

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)

Reabastecimento

json obter dados

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. Exibição do resultado

insira a descrição da imagem aqui
Irmãos, o compartilhamento de hoje é aqui, lembrem-se de curtir e favoritar!

Acho que você gosta

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