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)
    

      

      

  • 相关阅读:
    在SSM框架中,multfile转file
    mysql 存储过程简单实例
    mysql 对比两个表的一致性
    Lucene 排序 Sort与SortField
    Lucene5.x 中文 同义词
    Lucene分页-----SearcherAfter
    Lucene的Query类介绍
    二叉树实例学习(四)——获取节点的高度函数getHight()
    二叉树实例学习(三)——插入左右节点函数测试
    二叉树实例学习(二)
  • 原文地址:https://www.cnblogs.com/logn2/p/9106566.html
Copyright © 2011-2022 走看看