本人水平有限,只能手动登陆之后,再运行程序进行评论。而且不是科班出身,有些逻辑可能存在问题,然后就靠try:except:勉强把程序运行下去。欢迎指正。
如果有想推广数字货币交易平台BIteget,可以私信或评论,让技术创造财富。
from selenium import webdriver
from selenium.webdriver.Chrome.options import Options
import time
#计数
global n_done
n_done = 0
global n_verify
n_verify = 0
#读取关键词
keys_search_ls = []
f = open(r"bilibili.txt","r",enCoding='utf-8')
line = f.readline()
line = line[:-1]
keys_search_ls.append(line)
while line:
line = f.readline()
line = line[:-1]
keys_search_ls.append(line)
keys_search_ls = keys_search_ls[:-1]
print(keys_search_ls)
f.close()
#文案
keys_sent = '''币安合约大赛,瓜分美元奖励
臻享交易费9折优惠
币安官网地址
https://www.binancezh.io/zh-CN/futures/ref/147939788(开通合约&现货)
https://accounts.binancezh.ch/zh-CN/register?ref=QMFJ24WH(开通矿池)
赚钱了别忘回来点个赞哦(^_^*)'''
#睡眠
sleep_1 = 1
sleep_5 = 5
sleep_60 = 5
sleep_1800 = 900
#控制已打开的网页并最大化
options = Options()
options.add_experimental_option("deBUGgerAddress", "127.0.0.1:9527")
browser = webdriver.Chrome(options=options)
print(browser.Title)
browser.maximize_window()
while True:
#按关键词搜索
for k in range(len(keys_search_ls)):
try:
keys_search = keys_search_ls[k]
browser.find_element_by_xpath('//*[@ID="search-keyword"]').click()
browser.find_element_by_xpath('//*[@ID="search-keyword"]').clear()
browser.find_element_by_xpath('//*[@ID="search-keyword"]').send_keys(keys_search)
time.sleep(sleep_1)
browser.find_element_by_xpath('//*[@ID="server-search-app"]/div/div[1]/div[1]/div/div/div/div[2]').click()
time.sleep(sleep_5)
except:
continue
#逐页作业
for j in range(5):
try:
if j==0:
div = browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[2]/ul/li[1]/a/div/div[1]/img')
else:
div = browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/ul/li[1]/a/div/div[1]/img')
#滑动滚动条到某个指定的元素
Js4 = "arguments[0].scrollintoVIEw();"
#将下拉滑动条滑动到当前div区域
browser.execute_script(Js4, div)
except:
try:
browser.execute_script('window.scrollBy(0,1200)')
time.sleep(sleep_1)
if j==0:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[3]/div/ul/li[9]/button').click()
time.sleep(sleep_5)
elif j==1 or j==2:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[2]/div/ul/li[10]/button').click()
time.sleep(sleep_5)
#回到顶端
Js_top = "var q=document.documentElement.scrolltop=0"
browser.execute_script(Js_top)
time.sleep(sleep_1)
continue
except:
break
#逐个进入视频
for i in range(20):
try:
if j==0:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[2]/ul/li['+str(i+1)+']/div/div[1]/a').click()
else:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/ul/li['+str(i+1)+']/div/div[1]/a').click()
time.sleep(sleep_5)
#转换控制的页面
handles = browser.window_handles
browser.switch_to_window(handles[1])
print(browser.Title)
time.sleep(sleep_1)
#滚动
browser.execute_script('window.scrollBy(0,800)')
time.sleep(sleep_5)
#清理、输入并发送
browser.find_element_by_xpath('//*[@ID="comment"]/div/div[2]/div/div[3]/div[2]/textarea').click()
browser.find_element_by_xpath('//*[@ID="comment"]/div/div[2]/div/div[3]/div[2]/textarea').clear()
Now = time.strftime('%Y-%m-%d %H:%M:%s')
browser.find_element_by_xpath('//*[@ID="comment"]/div/div[2]/div/div[3]/div[2]/textarea').send_keys(keys_sent+'\n'+Now)
time.sleep(sleep_1)
browser.find_element_by_xpath('//*[@ID="comment"]/div/div[2]/div/div[3]/div[2]/button').click()
time.sleep(sleep_5)
try:
browser.find_element_by_xpath('//*[@ID="bili-wordverify-Box"]/div[2]/div/i').click()
print('Verify'+str(j)+'_'+str(i))
n_verify += 1
print('done'+str(n_done))
print('verify'+str(n_verify))
time.sleep(sleep_1800)
except:
print('DONE'+str(j)+'_'+str(i)+'______'+Now)
n_done+=1
print('done'+str(n_done))
print('verify'+str(n_verify))
time.sleep(sleep_60)
except:
pass
#关闭当前页面并转换控制权
browser.close()
handles = browser.window_handles
browser.switch_to_window(handles[0])
print(browser.Title)
time.sleep(sleep_1)
#滚动
if i>4 and i<15:
browser.execute_script('window.scrollBy(0,20)')
time.sleep(sleep_1)
#翻页
try:
browser.execute_script('window.scrollBy(0,200)')
time.sleep(sleep_1)
if j==0:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[3]/div/ul/li[9]/button').click()
time.sleep(sleep_5)
elif j==1 or j==2:
browser.find_element_by_xpath('//*[@ID="all-List"]/div[1]/div[2]/div/ul/li[10]/button').click()
time.sleep(sleep_5)
#回到顶端
Js_top = "var q=document.documentElement.scrolltop=0"
browser.execute_script(Js_top)
time.sleep(sleep_1)
except:
break
以上是内存溢出为你收集整理的BILIBILI自动评论机器人 Python+Selenium全部内容,希望文章能够帮你解决BILIBILI自动评论机器人 Python+Selenium所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)