Python爬虫 用selenium时遇到了问题,如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫 用selenium时遇到了问题,如下:相关的知识,希望对你有一定的参考价值。

Python爬虫 用selenium时遇到了问题,如下:rs = web.find_element_by_class_name('num.rate-count').text 想问为什么num rate-count 这个class属性中的空格要换成 点 ,如果不换它就会报错?

[图片]因为它明明时这样的

class后面是两个分开的属性,你只要写一个就行了。写俩就不能用空格。

rs = web.find_element_by_class_name('rate-count').text
参考技术A 去学下xpath获取元素吧

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爬虫 用selenium时遇到了问题,如下:的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫,遇到403 forbidden,求助

网络爬虫:配置seleniumpycharm(windows平台)

[Python爬虫] 之十一:Selenium +phantomjs抓取活动树中会议活动

Python爬虫之爬取页面内容图片以及用selenium爬取

Python爬虫编程思想(97):用Selenium模拟浏览器的单击动作

[Python爬虫] 之十:Selenium +phantomjs抓取活动行中会议活动(多线程抓取)