当一只小小的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)