本文只为学习交流。
目标网站
https://m.ku6.com/index
这个就是我们需要的请求数据
这个是含视频的请求
构建请求
# Date: 2020/9/5 14:03
# @Software: PyCharm
import requests
import json
import pprint
from lxml import etree
url = 'https://m.ku6.com/video/feed?pageNo=0&pageSize=8'
headers = {'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Mobile Safari/537.36'
}
redf = requests.get(url=url,headers=headers)
pprint.pprint(redf.json())
解析数据
json_wqx = redf.json()
jsod_list = json_wqx['data']
#print(jsod)
循环提取数据
# 一定要注意缩进问题,不然可能只循环一个
for data in jsod_list:
playUrl = data['title'] + 'mp4'
title = data['playUrl']
#print(playUrl,title)
然后对视频的url进行提取,并保存到本地
values = requests.get(url=playUrl,headers=headers).content
with open('kuwang\\' + title,'wb') as f:
f.write(values)
print('正在下载:',title)
最后一步,翻页提取。
这个翻页是最简单的翻页,利用循环翻页。
for page in range(1,6):
print('************************************正在爬取第{}*********************************'.format(page))
url = 'https://www.ku6.com/video/feed?pageNo={}&pageSize=40&subjectId=76'.format(page)
最后还是注意一点,缩进问题,任何一点缩进问题都会出错,我以踩过坑。
本人小白,哪有出错,请多多指教。
完整代码
# Author:风启新尘
# Date: 2020/9/5 14:03
# @Software: PyCharm
import requests
import json
import pprint
from lxml import etree
for page in range(1,6):
print('************************************正在爬取第{}*********************************'.format(page))
url = 'https://www.ku6.com/video/feed?pageNo={}&pageSize=40&subjectId=76'.format(page)
headers = {
'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Mobile Safari/537.36'
}
redf = requests.get(url=url,headers=headers)
#pprint.pprint(redf.json())
json_wqx = redf.json()
jsod_list = json_wqx['data']
#print(jsod)
# 一定要注意缩进问题,不然可能只循环一个
for data in jsod_list:
title = data['title'] + '.mp4'
playUrl= data['playUrl']
#print(playUrl,title)
values = requests.get(url=playUrl,headers=headers).content
with open('kuwang\\' + title,'wb') as f:
f.write(values)
print('正在下载:',title)