实现今日头条-西瓜视频-抖音视频自动化上传(如希望无人值守长期定时执行的话,需自行优化代码)

业务合作请联系:13958075150

【1】首次登录使用selenium登录并将cookies存为文件,实现免密登录,并便于后期维护cookie。

# 首次使用selenium登录,并将cookies存为文件

from selenium import webdriver
import time
import json

br = webdriver.Chrome()
br.get("https://mp.toutiao.com")

# 点击登陆按钮
login = br.find_element_by_css_selector('body > div > div.carousel > div.page.page-1 > div > img.i3')
login.click()
time.sleep(3)


# 点击手机密码登录按钮
phone_login_button = br.find_element_by_css_selector('#login-type-account')
phone_login_button.click()

# 填写手机号
user_name = br.find_element_by_id('user-name')
user_name.send_keys('您的账号')


# 填写密码
password_input = br.find_element_by_id('password')
password_input.send_keys('您的密码')


# 登陆
br.find_element_by_id('bytedance-login-submit').click()
time.sleep(5)
cookies = br.get_cookies()
# print(cookies)
with open('/Users/macbookair/Desktop/cookies-2.json', 'w') as f:
    self_cookies = f.write(json.dumps(cookies))

【2】读取cookies文件,并使用该cookie登录。

from selenium import webdriver
import time
import json

br = webdriver.Chrome()
br.get("https://sso.toutiao.com/login/?service=https://mp.toutiao.com/sso_confirm/?redirect_url=JTJG")
with open('cookies文件路径/cookies-2.json') as f:
    cookies = json.loads(f.read())
for cookie in cookies:
    if 'expiry' in cookie:
        del cookie['expiry']

    br.add_cookie(cookie)
    
br.get("https://mp.toutiao.com/profile_v3/index")  



# 点击左侧导航栏 “西瓜视频”按钮
xigua_button = br.find_element_by_css_selector('#root > div.pgc-wrapper > div.pgc-content > ul > li.tui2-menu-sub.xigua_tab > div')
xigua_button.click()


# 点击左侧导航栏 “西瓜视频” --> “发布视屏”按钮
publish_vedio = br.find_element_by_css_selector('#root > div.pgc-wrapper > div.pgc-content > ul > li.tui2-menu-sub.xigua_tab.tui2-menu-sub-active > ul > li:nth-child(2)')
publish_vedio.click()



upload_vedio = br.find_element_by_css_selector('#xigua > div > div > div.m-index > div.m-index-main > div:nth-child(1) > div.undefined.upload-handler > input[type=file]')
upload_vedio.send_keys(r'视频文件路径')



# 获取标题输入框,清除原标题并输入新标题
title_input = br.find_element_by_css_selector('#upload-manage > div > div.video-list-content > div > div.m-video-item > div.m-edit-from > div:nth-child(1) > div.m-form-item.m-title > div > div.m-right-content > div > input')
title_input.clear()
title_input.send_keys('我是标题'*3)



# 获得简介并输入内容
jianjie_textarea = br.find_element_by_css_selector('#upload-manage > div > div.video-list-content > div > div.m-video-item > div.m-edit-from > div:nth-child(1) > div.m-form-item.m-abstract > div > div.title-input.article-title-wrap-new > span.tui2-input-wrapper > textarea')
jianjie_textarea.clear()
jianjie_textarea.send_keys('我是简介'*5)



# 获得是否投放广告
toufang_radio = br.find_element_by_css_selector('#upload-manage > div > div.video-list-content > div > div.m-video-item > div.m-edit-from > div:nth-child(1) > div.m-form-item.m-ads > div > div.tui2-radio-group > label:nth-child(1)')
toufang_radio.click()


toufang_radio_no = br.find_element_by_css_selector('#upload-manage > div > div.video-list-content > div > div.m-video-item > div.m-edit-from > div:nth-child(1) > div.m-form-item.m-ads > div > div.tui2-radio-group > label:nth-child(2)')
# toufang_radio_no.click()



tag_name_html = '<div class="Select-value"><span class="Select-value-icon" aria-hidden="true">×</span><span class="Select-value-label" role="option" aria-selected="true" id="react-select-2--value-0">www<span class="Select-aria-only">&nbsp;</span></span></div>' 
# 添加视频标签
# vedio_tags = br.find_element_by_id('react-select-2--value')
tags_js = "document.getElementById('react-select-2--value').innerHTML=tag_name_html"

br.execute_script(tags_js)

发布了10 篇原创文章 · 获赞 1 · 访问量 2036

猜你喜欢

转载自blog.csdn.net/xinxianren007/article/details/104447868