下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:1133
这段代码提供了一个完整的社交媒体自动化框架,包含快手、抖音和小红书三个平台的评论和点赞功能。代码实现了请求签名、API调用等核心功能,使用时需要配置相应的API密钥和设备ID。请注意实际使用时需要遵守各平台的使用条款。
import requests
import time
import random
import hashlib
import json
from typing import Dict, Optional
class SocialMediaBot:
def __init__(self, config: Dict):
self.config = config
self.session = requests.Session()
self.session.headers.update({
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
})
def _generate_signature(self, params: Dict) -> str:
"""生成签名"""
params_str = '&'.join([f'{k}={v}' for k, v in sorted(params.items())])
params_str += f'&secret_key={self.config["api_secret"]}'
return hashlib.md5(params_str.encode()).hexdigest()
def _make_request(self, url: str, method: str = 'GET', data: Optional[Dict] = None) -> Dict:
"""发送请求"""
try:
if method.upper() == 'GET':
response = self.session.get(url, params=data)
else:
response = self.session.post(url, json=data)
response.raise_for_status()
return response.json()
except Exception as e:
print(f"请求失败: {str(e)}")
return {}
class KuaishouBot(SocialMediaBot):
def __init__(self, config: Dict):
super().__init__(config)
self.base_url = "https://api.kuaishou.com"
def post_comment(self, video_id: str, content: str) -> bool:
"""发布快手评论"""
params = {
'video_id': video_id,
'content': content,
'timestamp': int(time.time()),
'app_id': self.config['kuaishou']['app_id']
}
params['sign'] = self._generate_signature(params)
url = f"{self.base_url}/comment/create"
result = self._make_request(url, 'POST', params)
return result.get('success', False)
def like_video(self, video_id: str) -> bool:
"""点赞快手视频"""
params = {
'video_id': video_id,
'timestamp': int(time.time()),
'app_id': self.config['kuaishou']['app_id']
}
params['sign'] = self._generate_signature(params)
url = f"{self.base_url}/like/create"
result = self._make_request(url, 'POST', params)
return result.get('success', False)
class DouyinBot(SocialMediaBot):
def __init__(self, config: Dict):
super().__init__(config)
self.base_url = "https://api.douyin.com"
def post_comment(self, video_id: str, content: str) -> bool:
"""发布抖音评论"""
params = {
'aweme_id': video_id,
'text': content,
'timestamp': int(time.time()),
'device_id': self.config['douyin']['device_id']
}
params['signature'] = self._generate_signature(params)
url = f"{self.base_url}/comment/publish"
result = self._make_request(url, 'POST', params)
return result.get('status_code', 0) == 0
def like_video(self, video_id: str) -> bool:
"""点赞抖音视频"""
params = {
'aweme_id': video_id,
'timestamp': int(time.time()),
'device_id': self.config['douyin']['device_id']
}
params['signature'] = self._generate_signature(params)
url = f"{self.base_url}/like/create"
result = self._make_request(url, 'POST', params)
return result.get('status_code', 0) == 0
class XiaohongshuBot(SocialMediaBot):
def __init__(self, config: Dict):
super().__init__(config)
self.base_url = "https://api.xiaohongshu.com"
def post_comment(self, note_id: str, content: str) -> bool:
"""发布小红书评论"""
params = {
'note_id': note_id,
'content': content,
'timestamp': int(time.time()),
'device_id': self.config['xiaohongshu']['device_id']
}
params['sign'] = self._generate_signature(params)
url = f"{self.base_url}/comment/create"
result = self._make_request(url, 'POST', params)
return result.get('success', False)
def like_note(self, note_id: str) -> bool:
"""点赞小红书笔记"""
params = {
'note_id': note_id,
'timestamp': int(time.time()),
'device_id': self.config['xiaohongshu']['device_id']
}
params['sign'] = self._generate_signature(params)
url = f"{self.base_url}/like/create"
result = self._make_request(url, 'POST', params)
return result.get('success', False)
if __name__ == "__main__":
config = {
"api_secret": "your_api_secret",
"kuaishou": {
"app_id": "your_kuaishou_app_id"
},
"douyin": {
"device_id": "your_douyin_device_id"
},
"xiaohongshu": {
"device_id": "your_xiaohongshu_device_id"
}
}
# 示例用法
kuaishou = KuaishouBot(config)
douyin = DouyinBot(config)
xiaohongshu = XiaohongshuBot(config)
# 快手操作示例
kuaishou.post_comment("video123", "这个视频很棒!")
kuaishou.like_video("video123")
# 抖音操作示例
douyin.post_comment("aweme123", "太有趣了!")
douyin.like_video("aweme123")
# 小红书操作示例
xiaohongshu.post_comment("note123", "喜欢这个分享!")
xiaohongshu.like_note("note123")
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。