zoukankan      html  css  js  c++  java
  • python_requests ~爬虫~小视频~~~

    当一只小小的Py_Spider也有一段时间了,

    期间,更多的时间是在爬取图片啊, 文字, 文档这类的东西,

    今天突然一时兴起, 来爬一手视频!

    所以就找到了远近闻名的六间房(六扇门)哈哈,~~~

    1、找到能获取到vide_list的url  :

     http://v.6.cn/minivideo/getlist.php?act=recommend&page=1&pagesize=2000

    这里分析到page为当前页码, pagesize为一页显示多少条数据(默认为20)在设置2000只是为了能取到所有的数据

    然后得到的是一大大大大大段的json字符串:::

    2、解析json然后找到加密或者是认证的接口

    _t 是时间戳不用管, 当把vid发送给这个接口的时候, 这个接口会把资源地址完完整整的返回来。

    这是爬取一个视频的代码:

    import json
    import requests
    
    
    # 获取vid
    def get_vid(url):
        resp = requests.get(url)
        resp_json = resp.content.decode()
        resp_dict = json.loads(resp_json)
        vid_dict_list = resp_dict["content"]["list"]
        vid_list = []
        for vid_dict in vid_dict_list:
            vid = vid_dict["vid"]
            vid_list.append(vid)
        return vid_list
    
    # 保存文件为.mP4
    def w_mp4(mp4_url):
        resp = requests.get(mp4_url)
        content = resp.content
        with open("111.mp4", "wb") as f:
            f.write(content)
    
    
    # 获取MP4地址
    def get_mp4(url):
        vid_list = get_vid(url)
        for vid in vid_list:
            resp = requests.get("https://v.6.cn/minivideo/auth.php?act=play&vid={}".format(vid))
            resp_json = resp.content.decode()
            resp_dict = json.loads(resp_json)
            mp4_url = resp_dict["content"]["mp4url"]
            w_mp4(mp4_url)
    
    
    if __name__ == '__main__':
        url = 'http://v.6.cn/minivideo/getlist.php?act=recommend&page=1&pagesize=1'
        get_mp4(url)
    

      

      

  • 相关阅读:
    cocos2dx——九宫格CCScale9Sprite
    COCOS学习笔记--TexturePacker使用详解
    leetcode 旋转数组
    leetcode 从排序数组中删除重复项
    使用javascript随机生成斗地主玩家手牌
    模仿w3c school的示例导航栏
    c#中快速排序的学习
    常用语法梳理
    技巧类
    markdown备忘
  • 原文地址:https://www.cnblogs.com/logn2/p/9106566.html
Copyright © 2011-2022 走看看