python爬取快手视频--json数据分析
打开快手主页,进行页面分析
对于快手这种平台,分析完页面代码之后,无任何想要的信息,所以,只能进行json数据的抓取,这些视频都是通过json语句传给前段,然后进行循环生成,所以,我们来看抓的json包
然后进行详情页链接分析
接下来看json数据
补充一下,这里由于页面刷新了,所以看到的两个链接不一样,方法就是这样的
然后拼接出来二级路径,进行访问详情页
最后在详情页按照常规方法进行分析页面爬取数据就行了
分享一下代码
import requests
from bs4 import BeautifulSoup
import json
import timeheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',
}def first_get_request(first_request):first_data = json.loads(first_request.text)print(first_data)#进入第二层first_two_data = first_data['data']['videoFeeds']['list']for num in first_two_data:two_url = 'https://live.kuaishou.com/u/' + num['user']['id'] + '/' + num['photoId']# print(two_url)two_get_request(two_url)def two_get_request(two_url):two_data = requests.get(url=two_url,headers=headers,verify=False)soup = BeautifulSoup(two_data.text,'lxml')#头像name_photo = soup.select('.profile-user img')[0]['src']#名字name = soup.select('.video-card-footer-user-name')[0].text#点赞量number = soup.select('.profile-user-count-info > .watching-count')[0].text#点心量num = soup.select('.profile-user-count-info > .like-count')[0].text#内容text = soup.select('.profile-user > .profile-user-desc > span')[0].textitem = {'头像':name_photo,'名字':name,'内容':text,'点赞量':number,'点心量':num}with open('爬取的信息.txt','a',encoding='utf8') as f:f.write(str(item) + '\n')time.sleep(3)def main():first_url = 'https://live.kuaishou.com/graphql'formdata = {"operationName": "videoFeedsQuery", "variables": {"count": 50, "pcursor": "50"},"query": "fragment VideoMainInfo on VideoFeed {\n photoId\n caption\n thumbnailUrl\n poster\n viewCount\n likeCount\n commentCount\n timestamp\n workType\n type\n useVideoPlayer\n imgUrls\n imgSizes\n magicFace\n musicName\n location\n liked\n onlyFollowerCanComment\n width\n height\n expTag\n __typename\n}\n\nquery videoFeedsQuery($pcursor: String, $count: Int) {\n videoFeeds(pcursor: $pcursor, count: $count) {\n list {\n user {\n id\n eid\n profile\n name\n __typename\n }\n ...VideoMainInfo\n __typename\n }\n pcursor\n __typename\n }\n}\n"}#访问快手界面first_request = requests.post(url=first_url,headers=headers,data=formdata,verify=False)#分析首页链接first_get_request(first_request)if __name__ == '__main__':main()
最后就找到了我们想要的东西,
python爬取快手视频--json数据分析相关推荐
- python爬取快手视频 多线程下载
直接开始! 环境: python 2.7 + win10 工具:fiddler postman 安卓模拟器 首先,打开fiddler,fiddler作为http/https 抓包神器,这里就不多介绍. ...
- python爬取bilibili数据_如何使用Python爬取bilibili视频(详细教程)
Python爬取bilibili视频 摘要 为了解决PC端的bilibili无法下载视频的问题,使用python语言可以实现一个能够爬取bilibili某个视频资源(不包括会员视频)的程序.采用整个视 ...
- python爬取快手评论信息+快手号
python爬取快手评论信息+快手号 潦草记录一下思路 从浏览器进行抓包,分析提交参数, 1.从手机中打开快手,找到需要爬取的视频,转发复制链接,从网页中打开 2.按F12进入开发者模式,进行抓包 3 ...
- python如何爬取网页视频_快就完事了!10分钟用python爬取网站视频和图片
原标题:快就完事了!10分钟用python爬取网站视频和图片 话不多说,直接开讲!教你如何用Python爬虫爬取各大网站视频和图片. 638855753 网站分析: 我们点视频按钮,可以看到的链接是: ...
- python爬取快手粉丝榜_[Python] 【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...
分享 写在前面代码功能如题,根据快手用户的id来爬取用户所有公开作品,包括图集和视频. 原理:其实就是利用基于chromium内核的浏览器自带的devtools对所有请求进行排查找出包含作品链接的请求 ...
- 用Python爬取Bilibili视频,难吗?
作者:Mike_Shine 来源:https://urlify.cn/2qyMBb 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很 ...
- python爬取YB视频评论
python爬取评论 一.背景 二.整体思路 三.代码讲解 3.1 代码结构 3.2 核心代码 3.2.1 爬虫核心代码 3.2.2 界面核心代码 3.2.3 json转excel 四.爬取结果 五. ...
- Python爬取CCTV视频
文章目录 前言 一.需求 二.分析 微视频 长视频 三.处理 四.运行效果 前言 为了更好的掌握数据处理的能力,因而开启Python网络爬虫系列小项目文章. 小项目小需求驱动,每篇文章会使用两种以上的 ...
- python 爬取快手数据
环境: python 3.5 + win8.1 工具:fiddler postman 逍遥模拟器 首先使用fiddler抓取app数据,打开快手,刷新,可以看到会有很多的http/https请求,找到 ...
最新文章
- android VectorDrawable使用笔记(三)
- c++学习笔记之成员函数
- JavaOne 2012:观察与印象
- python_L2_operator
- 【今日CV 视觉论文速览】 Part2 19 Feb 2019
- PHP删除目录及目录下所有文件
- python selenium 点击加载更多_如何等待页面加载,然后按selenium中的“加载更多”按钮?...
- vitual dom实现(转)
- Android EditText 常用属性总结
- [py][mx]django分页第三方模块django-pure-pagination
- 关于Mysql datetime类型存储范围测试
- SQL Server数据库连接工具SSMS18.2的安装与配置
- 交友盲盒小程序版本 全开源版本
- 添加三个字母即可免费下载百度文库的文档
- 密钥分发中心KDC 对称密钥分发中心 P112
- 拟物设计和Angular的实现 - Material Design (持续更新)
- 云计算实训报告总结_实训报告心得体会(通用5篇)
- puts与fputs的区别
- 学生-课程数据库中的Student表中的学号属性为什么用英文Sno表示?
- 第六天 01-hydra工具windows远程桌面的密码爆破