菜单导航

技术文档
使用python自动化抖音引流
技术文档

使用python自动化抖音引流

NoiseNoise
2023-09-16

功能:搜索关键词用户关注私信、根据关键词刷视频并自动点赞评论

必要环境:python+helium

必要软件:chrome浏览器+chrome对应版本的驱动驱动

驱动下载:https://chromedriver.storage.googleapis.com/index.html

python下载:https://www.python.org/downloads/

依赖安装:

pip install helium

源码(保存本地为.py文件,然后运行python3 main.py)

import time

from helium import *

def message():
login()
hover('私信')
time.sleep(3)
while True:
messageItems = find_all(S("//div[@data-e2e='conversation-item']"))
hover(messageItems[len(messageItems) - 1].web_element)
time.sleep(1)
notNull = Text('暂时没有更多了').exists()
if notNull:
messageTotalItems = messageItems
print("私聊用户数量: " + str(len(messageItems)))
break

if len(messageTotalItems) > 0:
    for item in messageTotalItems:
        item.web_element.click()
        time.sleep(1)
        write("已私聊")
        press(ENTER)
        time.sleep(1)
        click("退出会话")
print("私信操作完成")

def searchMember():
searchKey = input("请选择你需要视频评论点赞的关键词:")
login()
searchElement = find_all(S("//input[@data-e2e='searchbar-input']"))
write(searchKey, searchElement[0].web_element)
click("搜索")

wait_until(Text('综合').exists)
click("用户")

while True:
    time.sleep(3)
    memberItems = find_all(S("ul li div a"))
    # find_all(Window())[0]._driver.close()  # 关闭窗口
    hover(memberItems[len(memberItems) - 1].web_element)
    time.sleep(1)
    refreshMember = Text("服务异常,重新刷新拉取数据").exists()
    if refreshMember:
        click("刷新")
    notNull = Text('暂时没有更多了').exists()
    if notNull:
        memberTotalItems = memberItems
        print("搜索出用户数量: " + str(len(memberItems)))
        break

if len(memberTotalItems) > 0:
    print("正在处理搜索用户:")
    memberHrefItems = [item.web_element.get_attribute("href") for item in memberTotalItems]
    memberIndex(memberHrefItems)
print("已完成搜索关键词用户关注私信")

memberLink = []

def memberIndex(memberHrefItems) -> int:
size = len(memberHrefItems)
for index in range(size):
link = memberHrefItems[index]
if link in memberLink:
continue
elif not link.contains('user'):
continue
memberLink.append(link)
go_to(link)
wait_until(Button('私信').exists)
memberName = find_all(S("h1 span span span span span span"))[0].web_element.text
likeButtonExists = Button("关注").exists()
if likeButtonExists:
click(Button("关注"))
print("关注" + memberName + "成功")
time.sleep(3)
click(Button("私信"))
time.sleep(3)
click(Button("私信"))
time.sleep(3)
write("您的视频太好看了")
time.sleep(3)
press(ENTER)
print("私信" + memberName + "成功")
else:
print("已经关注了" + memberName)
return size

def searchVideo():
searchKey = input("请选择你需要视频评论点赞的关键词:")
login()
searchElement = find_all(S("//input[@data-e2e='searchbar-input']"))
write(searchKey, searchElement[0].web_element)
click("搜索")

wait_until(Text('综合').exists)
click("视频")
click("筛选")
click("最新发布")
click("一天内")
time.sleep(3)
videoItems = find_all(S("//div[@data-home-video-id]"))
videoItems[0].web_element.click()

first = True
while True:
    time.sleep(3)
    press(DOWN)
    time.sleep(3)
    likeItems = find_all(S("//div[@data-e2e-state='video-player-no-digged']"))
    if len(likeItems) > 0:
        doubleclick(likeItems[0].web_element)
        print("点赞成功")
    if first:
        commentItems = find_all(S("//div[@data-e2e='feed-comment-icon']"))
        commentItems[0].web_element.click()
        first = False
    time.sleep(1)
    press(ENTER)
    time.sleep(1)
    write("这个视频很棒呀,抖友在此镇楼,顺便留片个粉,呀哈哈!❤️")
    print("评论成功")
    press(ENTER)

def main():
while True:
print("请输入你需要的功能:")
print("1.私信")
print("2.搜索关键词用户关注私信")
print("3.搜索关键词视频评论及点赞")
num = input("请选择你需要的内容:")
if num == "1":
message()
elif num == "2":
searchMember()
elif num == "3":
searchVideo()
else:
print("输入有误")

def login():
start_chrome('www.douyin.com')
wait_until(Text('登录后免费畅享高清视频').exists)
while True:
exist = Text("登录后免费畅享高清视频").exists()
if not exist:
break
else:
time.sleep(3)
time.sleep(6)

main()

预览

版权声明

本文为「Noise」原创内容或编译整理;除特别说明外,文中图片并非个人手绘,可能来源于网络、AI 生成、截图等,后期使用 PhotoMator / Procreate 进行处理,仅用于学习与交流。如涉及版权或来源标注不全,请联系处理。未经授权,禁止用于商业用途,禁止抹除水印。转载请注明出处与链接并保留本声明。

...

评论 (0)

评论功能加载中...
Noise

Noise

执迷不悟