微信养号脚本插件,抖音快手陌陌养号工具,脚本插件养号看视频【python源码】

329 阅读2分钟

下载地址:www.pan38.com/dow/share.p… 提取密码:2813

该脚本实现了完整的自动化养号流程,包含登录验证、视频浏览、点赞评论等核心功能,通过随机化操作间隔和概率模拟人类行为‌ 1 2。使用时需要替换your_username和your_password为实际账号,并根据平台API调整base_url和接口参数‌

` import random import time from typing import List import requests from bs4 import BeautifulSoup

class ShortVideoBot: def init(self, username: str, password: str): self.username = username self.password = password self.session = requests.Session() self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Accept-Language': 'zh-CN,zh;q=0.9' } self.base_url = "api.douyin.com" self.token = None self.config = { 'watch_duration': (10, 30), # 观看时长范围(秒) 'like_probability': 0.6, # 点赞概率 'comment_probability': 0.3, # 评论概率 'max_operations': 100, # 最大操作次数 'sleep_range': (3, 8) # 操作间隔范围(秒) } self.comments_pool = [ "这个视频太棒了!", "内容很有价值,收藏了", "学到了新知识,感谢分享", "拍得真好,继续加油", "这个角度很独特" ]

def login(self) -> bool:
    """模拟平台登录并获取token"""
    login_url = f"{self.base_url}/passport/login/"
    data = {
        'username': self.username,
        'password': self.password,
        'captcha': ''
    }
    try:
        response = self.session.post(login_url, data=data, headers=self.headers)
        if response.status_code == 200:
            self.token = response.json().get('token')
            return True
    except Exception as e:
        print(f"登录失败: {str(e)}")
    return False

def get_video_list(self) -> List[str]:
    """获取推荐视频列表"""
    video_url = f"{self.base_url}/feed/recommend/"
    params = {'count': 20}
    try:
        response = self.session.get(video_url, params=params, headers=self.headers)
        if response.status_code == 200:
            soup = BeautifulSoup(response.text, 'html.parser')
            video_items = soup.find_all('div', class_='video-item')
            return [item['data-video-id'] for item in video_items]
    except Exception as e:
        print(f"获取视频列表失败: {str(e)}")
    return []

def watch_video(self, video_id: str) -> bool:
    """模拟观看视频"""
    watch_url = f"{self.base_url}/video/{video_id}/view/"
    try:
        duration = random.randint(*self.config['watch_duration'])
        print(f"正在观看视频 {video_id},时长: {duration}秒")
        time.sleep(duration)
        
        # 随机决定是否点赞
        if random.random() < self.config['like_probability']:
            self.like_video(video_id)
        
        # 随机决定是否评论
        if random.random() < self.config['comment_probability']:
            comment = random.choice(self.comments_pool)
            self.add_comment(video_id, comment)
        
        return True
    except Exception as e:
        print(f"观看视频失败: {str(e)}")
    return False

def like_video(self, video_id: str) -> bool:
    """点赞视频"""
    like_url = f"{self.base_url}/video/{video_id}/like/"
    try:
        response = self.session.post(like_url, headers=self.headers)
        if response.status_code == 200:
            print(f"已点赞视频 {video_id}")
            return True
    except Exception as e:
        print(f"点赞失败: {str(e)}")
    return False

def add_comment(self, video_id: str, comment: str) -> bool:
    """添加评论"""
    comment_url = f"{self.base_url}/video/{video_id}/comment/"
    data = {'content': comment}
    try:
        response = self.session.post(comment_url, data=data, headers=self.headers)
        if response.status_code == 200:
            print(f"已评论视频 {video_id}: {comment}")
            return True
    except Exception as e:
        print(f"评论失败: {str(e)}")
    return False

def run(self):
    """主运行循环"""
    if not self.login():
        print("登录失败,请检查账号密码")
        return
    
    print("登录成功,开始养号操作...")
    operation_count = 0
    
    while operation_count < self.config['max_operations']:
        video_list = self.get_video_list()
        if not video_list:
            print("没有获取到视频列表")
            break
            
        for video_id in video_list:
            if operation_count >= self.config['max_operations']:
                break
                
            self.watch_video(video_id)
            operation_count += 1
            
            # 随机间隔
            sleep_time = random.randint(*self.config['sleep_range'])
            time.sleep(sleep_time)
    
    print(f"养号操作完成,共执行 {operation_count} 次操作")

if name == "main": # 使用示例 bot = ShortVideoBot("your_username", "your_password") bot.run() `