内容分享:一篇文章带你多方面采集完一个应用评论、视频并自动点赞、评论~
优采云 发布时间: 2022-10-23 16:51内容分享:一篇文章带你多方面采集完一个应用评论、视频并自动点赞、评论~
前言
喜欢的东西,我们一般都想保存久一点,但是很多时候别人上传的视频可能就不会永远保存了~
有的要么下架,要么作者删除视频无法观看!!
那我们该怎么办?一般的做法当然是下载了~不过自己下载一个也可以,但数量不多。
这时候我想用外力来完成这个东西,所以我的代码也生成了
首先,我们要做一些准备工作⛏
当你准备写代码的时候,你的工具怎么能不工作呢~
就像:你对约会很有信心,一切都准备好了,但你发现了你生命中最重要的部分——你的女朋友,你还没有!!
我想你明白了(ps:这里所说的话与作者无关,请不要上真人~) Dog Head.jpj
开发环境
如果你是零基础的新手,无法安装软件,可以查看左侧首页
你会找到一个,扫一扫,你会获得知识的力量(其实是视频教程~找管理员领取)
模块安装,有两种安装方式,我就写到这里~(如果报错,也可以扫左看答案)
win + R 输入 cmd 输入安装命令 pip install 如果模块名流行,可能是因为网络连接超时切换国内镜像源
在pycharm中点击终端输入安装命令
用惯的(或者更顺眼的)都可以,都是一样的~
这里解释一下,有基础的可以点击下面的目录直接跳转~没有基础的需要仔细看思路分析。
目录
思想分析
在这里,我们要确定自己想要什么,比如:视频、标题、用户信息、评论等。. . 现在,让我们看一下视频
第一步,找一个——美女*敏*感*词*
(不要以为只要男生喜欢*敏*感*词*姐,女生也喜欢~),点击她的主页
第二步,打开开发者工具刷新网页
别忘了刷新~不然可能没有数据
第三步:点击打开视频
恐怕你看不清楚图片,在这里输入
复制标题中的几个字,点击开发者工具上的搜索工具,粘贴刚才复制的内容。第四步,点击搜索到的内容
点击打开找到的数据包点击Preview预览第五步,依次展开视图,找到我们需要的视频地址
第六步,确定url地址、请求方法、请求参数、请求头参数
代码实现:发送请求获取数据、解析数据、保存数据
别小看它只有四个小步骤,大部分代码实现都是基于这四个小步骤
主赛事:代码导入模块
大部分代码都有注释~如果看完还是不明白,也可以扫左获取视频教程。
import requests # 发送请求 第三方模块(第三方应用 pip)
import re
伪装
我删除了代码中另外两个header中的URL,大家可以自己添加~
# 1. 选中要替换的代码
# 2. ctrl + R
# 3. 第一个框(.*?): (.*)
# 4. 在第二个框里面输入 '$1': '$2',
# 5. 点击全部替换(* 点亮 * 号)
headers = {
'content-type': 'application/json',
'Cookie': 'kpf=PC_WEB; kpn=KUAISHOU_VISION; clientid=3; did=web_ea128125517a46bd491ae9ccb255e242; client_key=65890b29; didv=1646739254078; userId=270932146; kuaishou.server.web_st=ChZrdWFpc2hvdS5zZXJ2ZXIud2ViLnN0EqABctRgGaXi5efEBpnbdtJMp3nnnXqENRWBoFQABtOr1ZFUNAjEo5NTZ4F0leSypsSFE4_-FGTnBqKEYh8Wcrszm3FGF03559Z9bFQCX_8ew_kLKPWVB9ZRlWQgISoG4-XZXIOqiBgkQKsPbpYKiA3X4_0rMDbo9-c0nWXeOoThekj8W3u7_yfI4fUY3h5WgTEDYT0yrXkZmhWlFV_jpVxDrBoSzFZBnBL4suA5hQVn0dPKLsMxIiCo1i0bY9V6-OVEk7yMnH86RNliTZACHvLPjL9FTHHQOigFMAE; kuaishou.server.web_ph=09735672944cbf9e53431bf3e0514a0d058b',
<p>
'Host': '',
'Origin': '源码、解答、教程加裙:832157862',
# 防盗链
'Referer': '',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36',
}
url = ''
</p>
def get_page(pcursor):
# 指定要谁的视频
data = {
"operationName": "visionProfilePhotoList",
"query": "query visionProfilePhotoList($pcursor: String, $userId: String, $page: String, $webPageArea: String) {\n visionProfilePhotoList(pcursor: $pcursor, userId: $userId, page: $page, webPageArea: $webPageArea) {\n result\n llsid\n webPageArea\n feeds {\n type\n author {\n id\n name\n following\n headerUrl\n headerUrls {\n cdn\n url\n __typename\n }\n __typename\n }\n tags {\n type\n name\n __typename\n }\n photo {\n id\n duration\n caption\n likeCount\n realLikeCount\n coverUrl\n coverUrls {\n cdn\n url\n __typename\n }\n photoUrls {\n cdn\n url\n __typename\n }\n photoUrl\n liked\n timestamp\n expTag\n animatedCoverUrl\n stereoType\n videoRatio\n profileUserTopPhoto\n __typename\n }\n canAddComment\n currentPcursor\n llsid\n status\n __typename\n }\n hostName\n pcursor\n __typename\n }\n}\n",
"variables": {"userId": "3x2vsxyxbbwcjta", "pcursor": pcursor, "page": "profile"}
}
1.发送请求以获取帖子
response = requests.post(url=url, headers=headers, json=data)
# : 请求成功
2.获取data.json()返回字典类型数据
# .text: 拿到的就是 文本内容 python数据类型 字符串 > 字典类型 > 键值对(拼音)方式取值
json_data = response.json()
3.解析数据
# 新华字典 = {'A': '啊', 'B': '不', 'C': '从'}
# 新华字典['B'] python数据容器 存储数据
# 正则
feeds = json_data['data']['visionProfilePhotoList']['feeds']
pcursor = json_data['data']['visionProfilePhotoList']['pcursor']
for feed in feeds:
photoUrl = feed['photo']['photoUrl']
caption = feed['photo']['caption']
# 正则替换
# 第一个参数里面是需要替换的一些字符
# 第二个参数 是把这些字符替换为 空
# 第三个参数 是需要替换的变量
# \\ : \
# \/ : /
caption = re.sub('[\\\/:*?"|\n]', '', caption)
print(caption, photoUrl)
4.如果您获得的链接是视频或音频或图片,请保存数据
# .content: 获取视频(音频 / 图片) 二进制数据
video_data = requests.get(photoUrl).content
# 视频名称
# wb 以二进制覆盖写入
with open(f'video/{caption}.mp4', mode='wb') as f:
f.write(video_data)
# 递归: 2.出口
if pcursor == "no_more":
# 退出?
源码、解答、教程加裙:832157862
return
# 递归: 1.自己调用自己
get_page(pcursor)
<p>
get_page("")
</p>
写了这个,想了想,功能很多,这里一一给大家展示,嘿嘿
这里有一套完整的,可以连在一起,copy可以直接用~
import requests # 发送请求 第三方模块(额外安装)
class KuaiShou():
def __init__(self):
# 伪装
self.headers = {
'content-type': 'application/json',
'Cookie': 'kpf=PC_WEB; kpn=KUAISHOU_VISION; clientid=3; did=web_ea128125517a46bd491ae9ccb255e242; client_key=65890b29; didv=1646739254078; _bl_uid=pCldq3L00L61qCzj6fytnk2wmhz5; userId=270932146; kuaishou.server.web_st=ChZrdWFpc2hvdS5zZXJ2ZXIud2ViLnN0EqAB-YFLsHa67ZdbP8dvP_U-RlxTGFbCqVbT2BPSIpXwOBAp2Cb9tu2uupt0FFzbBZNkGr-Zcyfh3gHd3GY3npOdyJ07rRQ9Wb_JS37gxBNlscdp-G_d80pRRUCngxWB2SthNDD9gndwg6o1ROgDzN_2q44_kKgZlJ_7TaValhBueoTa0OXtWxYdazpkw3-E9Nt9Xz28QG6PPvjtuNFHgW8SEhoStVKEb-xUGkLo9u0A7O3lj4AGIiAzTzMkfNP_khE-e80VTVkESyn_UOfmrdMsiDiCDkXv8igFMAE; kuaishou.server.web_ph=3ff4b343fde6a4defe3736dafcc2c6d58d85',
'Host': '源码、解答、教程加裙:832157862',
'Origin': '',
'Referer': '',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36',
}
self.url = ''
采集用户数据
def get_video(self, userId, pcursor):
"""
用户作品
:param userId: 用户id
:param pcursor: 页码
:return:
"""
json = {
'operationName': "visionProfilePhotoList",
'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 visionProfilePhotoList($pcursor: String, $userId: String, $page: String, $webPageArea: String) {\n visionProfilePhotoList(pcursor: $pcursor, userId: $userId, 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",d
'variables': {'userId': userId, 'pcursor': pcursor, 'page': "profile"}
}
# 1. 发送请求
# 方式
response = requests.post(url=self.url, headers=self.headers, json=json)
# : 请求成功了
# 2. 获取数据
json_data = response.json()
return json_data
def get_userInfo(self, userId):
"""
用户详情
:param userId: 用户id
:return:
"""
json = {
'operationName': "visionProfile",
'query': "query visionProfile($userId: String) {\n visionProfile(userId: $userId) {\n result\n hostName\n userProfile {\n ownerCount {\n fan\n photo\n follow\n photo_public\n __typename\n }\n profile {\n gender\n user_name\n user_id\n headurl\n user_text\n user_profile_bg_url\n __typename\n }\n isFollowing\n __typename\n }\n __typename\n }\n}\n",
'variables': {'userId': userId} 源码、解答、教程加裙:832157862
}
response = requests.post(url=self.url, headers=self.headers, json=json)
json_data = response.json()
return json_data
心得:发帖怎么发(论坛的发帖技巧有哪些)
有时候,我也会写软文来发帖,为什么有的人能得到很多粉丝,而有的人只是在白忙活?
抛开文章的好坏,因为你没有这种心态:没有seo心态。
1.什么是seo思维
简而言之,这是为了取悦搜索引擎而采取的行动。
但是我们通过各大平台发布软文帖子,不需要了解seo的优化技术,只需要掌握内容seo优化的核心方法即可。
例如:
例如,假设您是一名高级营养师,在此 关键词 中创建内容。
怎么炖鸽子汤最有营养?
没错,上面的关键词就是你的文章核心主题,围绕这个主题创作内容就是一个有seo思想的文章。
为什么?
因为它反映在搜索引擎上,所以有需求。在之前的文章中我说过,有需求就一定有市场,有市场卖产品就需要布局。
所以,在创作内容的时候,要针对核心关键词进行深入的讲解,这才是好的内容。
当然,还有一些小技巧,文章最后会告诉你怎么做。
2.为什么发帖软文要有seo思维
原因1:哪里有搜索,哪里就有seo
百度和谷歌都是搜索引擎,所以如果你能seo,你可以从他们那里获得大量的流量。
再比如,我们用得最多的微信,里面也有一个搜索引擎。
搜索营养关键词,也能得到很多你想要的答案。那么,如何证明它也是搜索引擎呢?
很简单,看微信索引。
从7日的搜索指数来看,微信搜索的人非常多。
换个角度看,如果能掌握seo思维,能否获得大量潜在用户?很酷。
所以,seo思维是你内容创业最有价值的方法。
理由二:拥有seo思维,不断获取潜在用户
发布软文帖子吸引流量,最重要的是连续性,每天创造一个好的文章需要大量的精力,包括采集数据等等。
终于看完文章,然后发布到各大自媒体平台,可能阅读量很大,可能只有几百个阅读量,和你投入的精力不成正比创建。
反之,如果你有seo思维,在你的文章中,加入用户需要的关键词,那么,在搜狐这样的高权重平台上自媒体,你可以得到很多的流量。
所以在内容的创作上也是如此,但在运营上也有好有坏,到道就在其中。
不得不承认,目前来说,自媒体平台确实是创业的首选,但是如果你掌握了seo思维,你就可以创造出所有的关键词需求词了某些行业转化为内容,这种情况每天都会持续下去。给你一个引流,一年后会如何变化?
答案是你的微信里至少有几百个潜在客户,剩下的你就可以转换了。
3.如何将seo思维应用到内容上
文章如前所述,如果你只是一个需要发软文帖子来吸引流量的微商,你不需要学习seo负责的优化方法,你只需要掌握内容优化的5个关键点:
1.标题优化
2.第一段出现关键词
3.文字出现2-3次关键词
4.图片的描述出现关键词
5. 关键词 出现在文本末尾
记住以上5点,就可以写出带有SEO思维的内容了。
文章最后对文章有一点经验,每次写文章文章都需要创建两个头条:
标题 1:比较引人入胜的研究,不包括 关键词。
第二个标题:收录关键词,收录无形的需求。
例如:
就像这个文章,我给它起名:“如果你想通过软文引流,你必须掌握这个思维”
它收录了一种悬念,但不收录核心的关键词seo思想,适合发布到不会出现在搜索中的自媒体平台,如今日头条、趣头条等。
第二题:《要想通过软文快速引流,必须掌握seo思维》
收录核心关键词:seo思想,并发布到搜狐、知乎等高权重平台。只要是收录,就很容易获得排名。
相关文章:瓶颈期是什么意思(如何突破瓶颈期)赚钱的四种方法(赚钱的方法有几种)赚钱的东西有哪些(赚钱的秘诀)网上很多人都不知道的钱)Sika Reilly(结婚最多的足球明星就是那些)撕是什么意思(怎么理解撕)