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)

  

  

猜你喜欢

转载自www.cnblogs.com/logn2/p/9106566.html