zoukankan      html  css  js  c++  java
  • python爬虫简单代码爬取郭德纲单口相声

    搜索老郭的单口相声,打开检查模式,刷新

    没有什么有价值的东东, 不过....清掉内容, 点击一个相声,再看看有些什么

    是不是发现了些什么

    我们来点击这个看看, 首先看一下headers, 这个url是不是看起来很顺眼

    再来preview, 或者打开那个Request URL

     怎么样,这个就是网站提供的数据接口了,有了这个接口,我们获取文件就相当方便了
     
    # -*- coding:utf-8 -*-
    # Author : Niuli
    # Data : 2019-03-13 16:08
    
    
    import requests,os
    
    # 数据来源
    URL = 'https://www.ximalaya.com/revision/play/album?albumId=9742745&pageNum=1&sort=-1&pageSize=30'
    # 伪造请求头
    XMLY_HEADER = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36'}
    
    
    res = requests.get(URL,headers=XMLY_HEADER)
    res_json = res.json()
    
    
    play_list = res_json['data']['tracksAudioPlay']
    ALL_PATH = play_list[0]['albumName']
    
    # 创建本地专辑文件夹
    os.system(f'mkdir -p {ALL_PATH}/MUSIC')
    os.system(f'mkdir -p {ALL_PATH}/COVER')
    
    MUSIC_PATH = ALL_PATH + '/MUSIC'
    COVER_PATH = ALL_PATH + '/COVER'
    
    
    for i in play_list:
        # print(i['trackName'])
        # print(i['trackCoverPath'])
        # print(i['src'])
    
        # 获取文件信息 (标题 音乐路径 图片路径)
        url_title = i['trackName']
        url_music_path = i['src']
        url_cover_path = 'https:' + i['trackCoverPath']
    
        # 下载保存音乐文件
        music_file = requests.get(url_music_path)  # 下载文件
        local_music_path = os.path.join(MUSIC_PATH,f'{url_title}.mp3')  # 保存路径+文件名+后缀
        # 写入音乐文件
        with open(local_music_path,'wb') as f:
            f.write(music_file.content)
    
        # 下载保存图片信息
        cover_file = requests.get(url_cover_path)  # 下载文件
        local_cover_path = os.path.join(COVER_PATH,f'{url_title}.jpg')  # 保存路径+文件名+后缀
        # 写入图片文件
        with open(local_cover_path, 'wb') as f:
            f.write(cover_file.content)

    同理可以获取其他音频咯

  • 相关阅读:
    Typekit在线字库及使用方法
    SVG基础图形和D3.js
    CSS3 媒体查询@media 查询(响应式布局)
    Bootstrap 栅格系统(布局)
    CSS——图片替换方法:Fahrner图片替换法(FIR)
    CSS sprites(css 精灵):将小图标整合到一张图片上
    [html]点击button后画面被刷新原因:未设置type="button"
    [java]No qualifying bean of type 解决方法
    [eclipse]eclipse设置条件断点Breakpoint Properties
    Intent的setFlag和addFlag有什么区别?
  • 原文地址:https://www.cnblogs.com/niuli1987/p/10524725.html
Copyright © 2011-2022 走看看