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