|
于是乎我开始总结了一下,肯定是系统推送有问题不然不至于让我这一顿熬夜,那么这时候我的程序员毛病来了,为啥我不直接采集出来这样就没必要一个一个的去刷了吗? 说干就干,边干边记录然后就有了这个博文了~ |
目录
采集目标
工具准备
开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:requests
项目思路解析
我们今天需要获取的是某短视频的点赞视频信息,首先定位到我们需要的数据位置,通过抓包的方式进行准确的数据,点击快手页面进行登录,点击个人中心,点击我赞的视频,在当前页面进行抓包,获取到我们想要的数据信息
明确到自己需要采集的数据之后做我们爬虫的第一步,获取到我们目标地址:某短视频首页,通过requests发送网络请求,带上我们需要的请求头,这个请求头需要注意,他的请求头需要带上accept: /,不然在获取下一页的时候页数是不会变化的,这个需要重点注意,请求头入下:
headers = {
'accept': '\*/\*',
'content-type': 'application/json',
'Cookie': '',
'Host': 'www.kuaishou.com',
'Origin': 'https://www.xxxxxxxxxx.com',
'Referer': 'https://www.xxxxxxxxx.com/profile/3x382umv98zjz79',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
}
发送的是post请求需要携带的参数,pcursor是用来控制页数信息的,传递的数据是载荷数据,传输时以json接受就行,一下是提交的数据信息:
data = {
"operationName": "visionProfileLikePhotoList",
"variables": {
"pcursor": '',
"page": "profile"
},
"query": "fragment photoContent on PhotoEntity {\n id\n duration\n caption\n likeCount\n viewCount\n realLikeCount\n coverUrl\n photoUrl\n photoH265Url\n manifest\n manifestH265\n videoResource\n coverUrls {\n url\n \_\_typename\n }\n timestamp\n expTag\n animatedCoverUrl\n distance\n videoRatio\n liked\n stereoType\n profileUserTopPhoto\n \_\_typename\n}\n\nfragment feedContent on Feed {\n type\n author {\n id\n name\n headerUrl\n following\n headerUrls {\n url\n \_\_typename\n }\n \_\_typename\n }\n photo {\n ...photoContent\n \_\_typename\n }\n canAddComment\n llsid\n status\n currentPcursor\n \_\_typename\n}\n\nquery visionProfileLikePhotoList($pcursor: String, $page: String, $webPageArea: String) {\n visionProfileLikePhotoList(pcursor: $pcursor, page: $page, webPageArea: $webPageArea) {\n result\n llsid\n webPageArea\n feeds {\n ...feedContent\n \_\_typename\n }\n hostName\n pcursor\n \_\_typename\n }\n}\n"
}
发送请求获取的数据为json数据信息转换成字典数据,从中提取出你想要的数据信息,筛选出我们想要的视频标题,以及视频的播放地址,对视频地址发送请求就行,想实现翻页效果需要注意,我们下一页的页面数据是在他上个数据的接口里,提取数据了时候一起提取出来
简易源码分享


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**