当一只小小的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)
来源:oschina
链接:https://my.oschina.net/u/4407856/blog/3955701