Python爬虫学习--用Python结合Selenium实现 明日之子节目直播时为自己喜欢的选手自动点赞拉票!!!

Posted halooyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫学习--用Python结合Selenium实现 明日之子节目直播时为自己喜欢的选手自动点赞拉票!!!相关的知识,希望对你有一定的参考价值。

声明:本脚本纯属娱乐, 禁止用来非法自动点赞拉票!!!


闲话:

明日之子第二季开始好久了,作者一直再追,特别喜欢里面那个酷酷的小哥-蔡泽明。前两天晋选9大厂牌,采取的是直播的形式,选手是否会晋级纯靠粉丝手动点赞,而且特别坑的一点是点1000次才算一分贝,当时作者就想可不可以写个脚本自动点赞,当然功夫不负有心人,没有程序猿狂跨不过去的山啊!!!!

以下是晋级九大厂牌是直播的自动点赞代码(注意事项在代码的注释里):


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


class Tv(object):
    """
    本在Python3环境运行,请根据自己电脑运行环境、浏览器版本等选择适合自己的webdriver
    """
    
    def __init__(self):
        # 节目直播的url可能会改,请自行留意
        self.url = "http://v.qq.com/live/p/topic/55607/index.html#player"

        self.driver = webdriver.Chrome()

    def run(self):
        self.driver.get(self.url)
        """
        出现data-id的地方都要改成自己喜欢的选手的id:
        斯外戈:51673736  1673736
        蔡伟泽:51673681  1673681
        田 燚:51673438   1673438
        张毅豪:51571292  1571292
        邱洪凯:51673432  1673432
        黄翔麒:51673693  1673693
        文兆杰:51673466  1673466
        孙哲源:51573987  1573987
        邓 典:51673370  1673370
        如果自己喜欢的选手须下拉点赞榜单才能看到那么他的点赞按钮是不会被加载的,需要自己更改代码等待自己喜欢的选手的点赞按钮加载后才能自动点赞
        """

        while True:
            WebDriverWait(self.driver, 1000).until(EC.presence_of_element_located((By.XPATH, "//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]")))
            btn = self.driver.find_element_by_xpath("//span[@data-id=‘51673681‘]//button[@data-id=‘1673681‘]")
            # 第一次自动点击会触发登录界面
            btn.click()
            try:
                # 出现登录界面,会等待用户选择微信还是QQ扫码登陆,请手动选择登陆的平台,并手动扫码登录。
                if EC.presence_of_element_located((By.XPATH, ‘//a[@class="btn_qq _login_type_item"]‘)):
                    login_button = self.driver.find_element_by_xpath(‘//a[@class="btn_qq _login_type_item"]‘)
                    login_button.click()
                    # 登录我设置的是10秒内必须完成
                    time.sleep(10)
            except:
                pass

            # 每0.1秒点击一次
            # time.sleep(0.1)


tv = Tv()
tv.run()


九大厂牌升级站时直播点赞加了一个手机短信验证,验证弹出后请自行验证,验证完再重开一次程序就好!


声明:本脚本纯属娱乐, 禁止用来非法自动点赞拉票!!!

作者微信:halooyAn

以上是关于Python爬虫学习--用Python结合Selenium实现 明日之子节目直播时为自己喜欢的选手自动点赞拉票!!!的主要内容,如果未能解决你的问题,请参考以下文章

[Python学习] 简单网络爬虫抓取博客文章及思想介绍

怎么用python爬虫爬取可以加载更多的网页

如何用python写爬虫 知乎

Python爬虫框架Scrapy学习笔记

如何入门 Python 爬虫

python selenium结合PhantomJS对ajax异步页面进行压测或者爬虫