• 前提

我们有一些具体的快手播放地址例如:

https://live.kuaishou.com/u/shengxue1111/3xwgehu7uyudyeq

打开后出现如下

  • 目的

拿到视频的播放地址

  • 解决过程

首先是F12看见返回的网页里面在最后有一个json串

但是在用代码请求的时候没有这个东西,根据地址栏发生了变化 变为了

https://live.kuaishou.com/u/shengxue1111/3xwgehu7uyudyeq?did=web_975948772fda54ca569800162f04e530

猜测可能是有一些跳转,于是清空了 cookie 和缓存的文件,重新请求下发现了端倪

返回的结果里面也有具体的MP4的播放地址

观察其实首页进行了跳转,在response里面有 set cookie

接下来要啥啥,就不用多说了吧,上代码

# coding:utf-8import pymysql
import requests
import re
import time
import jsonheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36','Host': 'live.kuaishou.com','content-type': 'application/json',
}url = data[1]print(f"开始请求 {url}")response = Noneresponse = requests.get(url, headers=headers)text = response.textcookie = response.cookies.get_dict()
did = cookie['did']if not did:print(f"未获取到did {sid}")returntime.sleep(3)cookie_str = ''for key in cookie:cookie_str += key + ":" + cookie[key] + ";"headers['cookie'] = cookie_str
headers['Referer'] = url + '?csr=true'params = {"operationName": "FeedQuery","query": "query FeedQuery($principalId: String, $photoId: String) {\n  feedById(principalId: $principalId, photoId: $photoId) {\n    currentWork {\n      id\n      thumbnailUrl\n      poster\n      workType\n      type\n      useVideoPlayer\n      imgUrls\n      imgSizes\n      magicFace\n      musicName\n      caption\n      location\n      liked\n      onlyFollowerCanComment\n      relativeHeight\n      timestamp\n      width\n      height\n      counts {\n        displayView\n        displayLike\n        displayComment\n        __typename\n      }\n      user {\n        id\n        eid\n        name\n        avatar\n        __typename\n      }\n      expTag\n      playUrl\n      __typename\n    }\n    status\n    errMsg\n    __typename\n  }\n}\n","variables": {"principalId": author_id,"photoId": video_id}
}response = requests.post('https://live.kuaishou.com/m_graphql', headers=headers, json=params)text = response.textj = json.loads(text)playUrl = Nonetry:playUrl = j.get('data').get('feedById').get('currentWork').get('playUrl')
except Exception as e:passif not playUrl:print(f"没有找到地址 {sid},{url}")return;print(playUrl)

大致意思就是请求具体的链接,从响应里面获取cookie,再请求JSON数据,需要注意的是快手的链接

https://live.kuaishou.com/u/shengxue1111/3xwgehu7uyudyeq

shengxue1111 就是用户ID

3xwgehu7uyudyeq就是具体的视频ID

Python3 快手视频爬取相关推荐

  1. python3网络爬虫--爬取b站用户投稿视频信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...

  2. python3.x+requests 爬取网站遇到中文乱码的解决方案

    正常情况下,遇见问题上google找答案能甩百度100条街,但是这个问题是个例外······人家老外就没有乱码的问题.言归正传,首先建议大家看一下python3.x+requests 爬取网站遇到中文 ...

  3. 爬虫入门实战第一站——梨视频视频爬取

    爬虫入门实战第一站--梨视频视频爬取 简介 博主最近重新开始了解爬虫,想以文字方式记录自己学习和操作的过程.本篇文章主要是使用爬虫爬取梨视频网站中的视频并下载到本地,同时将视频简介和视频网站保存在ex ...

  4. Python爬虫系列之抖音热门视频爬取

    Python爬虫系列之抖音热门视频爬取 主要使用requests库以及手机抓包工具去分析接口 该demo仅供参考,已经失效,需要抖音2019年5月最新所有接口请点击这里获取 抖音资源获取接口文档请点击 ...

  5. python3 requests+bs4爬取某网页MM图片

    python3 requests+bs4爬取某网页MM图片 原理: 将所要抓取的首页分标题及地址保存到字典,遍历字典,对每一个标题下的所有分页进行抓取 import requests from bs4 ...

  6. python伪装浏览器爬取网页图片_【IT专家】python 分别用python2和python3伪装浏览器爬取网页内容...

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 分别用 python2 和 python3 伪装浏览器爬取网页内容 2017/07/06 1 python 网页抓取功能非常强大,使 ...

  7. python3 爬虫数据处理 爬取华为应用市场 APP应用评论(二)根据评论生成词云——小猿搜题

    python3 爬虫&数据处理 爬取华为应用市场 APP应用评论(二)根据评论生成词云--小猿搜题 # 导入扩展库 import re # 正则表达式库 import collections ...

  8. python3爬虫:爬取电影天堂电影信息

    python3爬虫:爬取电影天堂电影信息 #爬取电影天堂电影信息 #爬取电影天堂电影信息 #爬取电影天堂电影信息 from lxml import etree import requestsBASE_ ...

  9. Python 视频爬取与存储

    可以把视频存到本地,前提是有视频链接,有的还要登录,我还不会/(ㄒoㄒ)/~~. 这里爬取的是MOOC上的视频,也是我学习的地方. 将链接保存在.py文件同目录下的.txt里即可 import req ...

最新文章

  1. RAID 与 LVM 磁盘阵列技术
  2. PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
  3. linux device注册
  4. 《雷达技术丛书》分享
  5. 求一列数据中的波峰_用python进行数据分析的套路
  6. HDFS API编程
  7. 第一篇:一个win32控制台程序
  8. 刷题记录 CF每日一题打卡 2020.5月26-6月2
  9. java栈链_Java实现链栈
  10. 以下sum函数用来求a,b两数的和,在主函数中输入两个数并调用sum函数求其和。
  11. docker mysql 修改cnf_Docker下Mysql .cnf文件修改小贴士
  12. (转)NET Reflector简介
  13. Node 简介、模块、模板引擎、NPM、文件操作、缓冲区、文件流、网络操作、Express框架
  14. Gitea 的邮件通知
  15. 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(二)
  16. UG/NX10二次开发学习视频目录整理(NXOPEN基础篇)
  17. 《计算机组成原理(微课版)》第2章课后习题答案
  18. Python网络爬虫与信息提取(14)—— 百度搜索关键字爬取并整理摘要、标题、关键字等
  19. 提升C++程序运行速度的一些方法
  20. 24.Vue路由管理器:Router(进阶篇)

热门文章

  1. openpyxl模块
  2. 计算机课没有带鞋套检讨,课没带课本的检讨书
  3. show**介绍**
  4. tensorflow中保存模型、加载模型做预测(不需要再定义网络结构)
  5. 概率与期望,成为预言家的第一步
  6. 什么是限流及如何限流
  7. 怎么批量制作快手黑白视频
  8. 网站图片优化技巧及最佳实践
  9. JNA实战系列:第一个简单的JNA开发程序
  10. 2021最新爱奇艺Java社招面试题目