python爬虫视频教程博客园_python简单爬虫抓取视频demo-完善

from parse import parse_url

import json

def get_url(p,n=1):

# p 页数 n 电视剧集数

url = "http://api.cntv.cn/videoset/getVideoListByAlbumId?id=VIDA1404730290373811&mode=0&p={}&n={}&sort=2&serviceId=tvcctv&cb=".format(

p,n)

return url

def get_guid(url):

json_response = parse_url(url)

json_loads = json.loads(json_response)

guid = json_loads['itemList'][0]['guid']

return guid

def get_video(guid):

v_url = "http://vdn.apps.cntv.cn/api/getIpadVideoInfo.do?pid={}&vn=2049".format(guid)

v_response = parse_url(v_url)

# v_loads = json.loads(v_response)

return v_response

def get_json(str):

# 返回数据处理为类json字符串

str_start = len("var html5VideoData = '")

str_end = len("';getHtml5VideoData(html5VideoData);")

video_str = str[str_start:-str_end]

v_str_all = json.loads(video_str)

v_str = v_str_all['video']

# 第一种分辨率视频

v_low_urllist=''

v_low2_urllist = ''

v_low3_urllist = ''

v_low4_urllist = ''

v_low=v_str['lowChapters']

v_low2 = v_str['chapters']

v_low3 = v_str['chapters2']

v_low4 = v_str['chapters4']

# 所有分辨率的视频信息 列表转json 存入文档

v_all=v_low+v_low2+v_low3+v_low4

v_all=json.dumps(v_all)

# 每种分辨率的视频 只要URL

for v in v_low:

v_low_urllist += v['url']+"\n"

for v2 in v_low2:

v_low2_urllist += v2['url'] + "\n"

for v3 in v_low3:

v_low3_urllist += v3['url'] + "\n"

for v4 in v_low4:

v_low4_urllist += v4['url'] + "\n"

return v_all,v_low_urllist,v_low2_urllist,v_low3_urllist,v_low4_urllist

def run():

# 传递第一集信息

temp_url = get_url(1)

# 获取响应guid

temp_guid = get_guid(temp_url)

# 获取视频详情请求

temp_video = get_video(temp_guid)

# 处理类json结果

v_all,temp_json1,temp_json2,temp_json3,temp_json4 = get_json(temp_video)

# print("第一种分辨率视频信息",temp_json1)

# print("第二种分辨率视频信息",temp_json2)

# print("第三种分辨率视频信息",temp_json3)

# print("第四种分辨率视频信息",temp_json4)

print(v_all)

# 保存数据到txt

f = open("video_info.txt", "w", encoding="utf-8")

f.write(v_all)

f.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值