最近一朋友想刷自己在某音直播间活跃度,就自己拿着手机扣次扣次的操作,费时费力,让人看不下去,我说我给你写个脚本吧,反正每次刷的就那几个内容。
某音是直接有网页版的,提到网页版我们很容易想到使用selenium,没错,今天它依然是主角。
但是考虑到某音毕竟是个大平台,直接使用selenium很容易被检测到,奈何本身刷的数据也不是太大,倒不至于被封号怎么的,安全起见用selenium接管下我们的浏览器,让程序更像正常的用户请求。
selenium接管chrome 复制chrome路径 直接右击你的chrome快捷键,选择打开文件所在位置即可进入到chrome目录
执行以下命令 进入到chrome目录后执行如下命令
1 chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenum\AutomationProfile"
--user-data-dir
即浏览器运行临时文件目录,随意设置你电脑上的某个目录
输入以上命令之后,chrome就会被打开。
以上操作我理解为让chrome在9222端口打开运行
下载**chromedriver
**驱动,编写代码 驱动下载地址http://chromedriver.storage.googleapis.com/index.html
刷某音实例 这里认为你已经通过上述操作,chrome已被打开,此时我们输入某音直播间链接,自己扫码登录。
大概流程其实就是获取直播间弹幕输入文本框和发送按钮,然后输入内容发送就可以了。
为了更像人类操作,建议一个字符一个字符的进行输入,而且输入间隔时间也最好不一致,每次刷词的的时间间隔最好也随机一下。
下面放出来简单的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import randomimport timefrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options() chrome_options.add_experimental_option("debuggerAddress" , "127.0.0.1:9222" ) chrome_driver = r"./chromedriver.exe" driver = webdriver.Chrome(chrome_driver,options=chrome_options) input_element = driver.find_element_by_xpath('//*[@id="_douyin_live_scroll_container_"]/div/div[2]/div[1]/div[2]/div/div/div/div[2]/textarea' ) print (input_element)submit_element = driver.find_element_by_xpath('//*[@id="_douyin_live_scroll_container_"]/div/div[2]/div[1]/div[2]/div/div/div/div[2]/button' ) print (submit_element)txt = ["111111111" , "222222222" , "333333333" , "444444444" , "555555555" , "666666666" , "777777777" , "888888888" , "999999999" , "000000000" ] print ("开始……" )for i in range (10 ): key_text = "" .join(random.choices(txt, k=2 )) for char in key_text: input_element.send_keys(char) time.sleep(random.random()) time.sleep(0.5 ) submit_element.click() print (f"第{i+1 } 次,发送【{key_text} 】成功" ) time.sleep(random.random()*5 )
最后输入效果大概如下: