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?
- Selecione o arquivo >>> configuração >>> Projeto >>> interpretador python (interpretador python)
- Clique na engrenagem, selecione adicionar.
- Adicionar caminho de instalação do python
Como o pycharm instala plugins?
- Selecione o arquivo >>> configuração >>> Plugins
- 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
- Selecione o plug-in correspondente e clique em instalar.
- 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
Irmãos, o compartilhamento de hoje é aqui, lembrem-se de curtir e favoritar!