使用python编程依次观看b友的空间视频并发布评论

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
import time
import json
from selenium.webdriver.support import expected_conditions as EC

#d登录bilibili
url = 'https://www.bilibili.com/'
driver = webdriver.Chrome()
driver.get(url)
driver.maximize_window()

#使用cookies进行登录/手动登录也可
with open(r'D:tem\001\bilili_cookies.txt','r') as f:
    cookie_list = json.load(f)
    for cookie in cookie_list:
        driver.add_cookie(cookie)
driver.refresh()

#定义搜索类
class Search:
    input_area = driver.find_element(By.CLASS_NAME,'nav-search-input')
    input_button = driver.find_element(By.CLASS_NAME,'nav-search-btn')
    def __init__(self,str2):
        self.str1 = str2
    def execute_find(self):
        self.input_area.clear()
        self.input_area.send_keys(self.str1)
        self.input_button.click()
#检验
search = Search('情惰珈百璃') 
search.execute_find()
#转移至最新窗口
def transfer():
    handles = driver.window_handles
    driver.switch_to.window(handles[-1])
transfer()
#查找用户键
time.sleep(5)
i_user = driver.find_element(By.CSS_SELECTOR,'#i_cecream > div > div:nth-child(2) > div.search-header > div.search-tabs.i_wrapper > div > nav > ul > li:nth-child(7) > span > span.vui_tabs--nav-text')
i_user.click()
#点击头像并进入空间
head_img = driver.find_element(By.XPATH,'//*[@id="i_cecream"]/div/div[2]/div[2]/div/div/div[2]/div/div/div/a/div/div')
head_img.click()
transfer()
#获取所有的视频超链接
list1 = driver.find_elements(By.XPATH,'//*[@id="page-index"]/div[1]/div[1]/div/div/a[2]')
#依次点击所有超链接的函数
def click_all(lis):
    for i in range(len(list1)):
        transfer()
        lis[i].click()
        send_comment('走了走了')
#发布评论函数,发布完毕后关闭窗口
def send_comment(comment):
    transfer()
    h_img = WebDriverWait(driver,20,3).until(EC.presence_of_element_located((By.XPATH,'//*[@id="biliMainHeader"]/div/div/ul[2]/li[1]/div[1]/a[2]')))
    zan = WebDriverWait(driver,20,3).until(EC.presence_of_element_located((By.XPATH,'//*[@id="arc_toolbar_report"]/div[1]/div[1]/div')))
    zan.click()
    
    text_area = WebDriverWait(driver,20,3).until(EC.presence_of_element_located((By.XPATH,'//*[@id="comment"]/div/div/div/div[2]/div[1]/div/div[1]/div[2]/textarea')))
    text_area.clear()
    text_area.send_keys(comment)
    text_button = WebDriverWait(driver,20,3).until(EC.presence_of_element_located((By.XPATH,'//*[@id="comment"]/div/div/div/div[2]/div[1]/div/div[1]/div[3]')))
    text_button.click()
    driver.close()
click_all(list1)
#退出
driver.quit()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值