python 实现 知乎批量养号

Posted 一统

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 实现 知乎批量养号相关的知识,希望对你有一定的参考价值。

最近需要用到几个账户号,每天登录太麻烦,就写了一个脚本实现自动化登录,自动化浏览,自动化发回答,自动化点赞,以达到批量养号的目的

第一部 先登录

#作者 微信 jiangfeng0103
    def login(self,account,driver):
        try:
            #Tab 切换
            target = driver.find_element_by_xpath("//div[@class=\'SignFlow-tab\']")
            ActionClick = ActionChains(driver).click(target)
            time.sleep(2)
            ActionClick.perform()
            #输入 用户名
            username = driver.find_element_by_xpath("//input[@name=\'username\']")
            username.send_keys(account[\'loginName\'])
            time.sleep(1)
            # 输入密码
            password = driver.find_element_by_xpath("//input[@name=\'password\']")
            password.send_keys(account[\'loginPwd\'])
            time.sleep(1)

            target = driver.find_element_by_xpath("//button[@class=\'Button SignFlow-submitButton Button--primary Button--blue\']")
            ActionClick = ActionChains(driver).click(target)
            time.sleep(1)
            ActionClick.perform()
            time.sleep(1)
            if self.checkTengxun(driver) == False:
                WebDriverWait(driver, 20, 1).until(EC.presence_of_element_located((By.ID, \'tcaptcha_iframe\')))  # 等待 iframe
                driver.switch_to.frame(driver.find_element_by_id(\'tcaptcha_iframe\'))  # 加载 iframe
                self.captcha.re_start(driver)
            if self.checkYundun(driver) == False:
                yd = yidun.yidun(driver)
                yd.crack_slider()
            accountCheckResult = self.accountCheck(driver)
            if accountCheckResult == False:
                return False
            target = driver.find_element_by_xpath("//button[@class=\'Button SignFlow-submitButton Button--primary Button--blue\']")
            ActionClick = ActionChains(driver).click(target)
            time.sleep(1)
            ActionClick.perform()
            time.sleep(2)
            accountCheckResult = self.accountCheck(driver)
            if accountCheckResult == False:
                return False
            return True
        except Exception as e:
            print("登录 异常 {}", format(e))

 

第二步:完成自动化操作--自动上传头像

    
#作者 微信 jiangfeng0103
# 自动上传头像
    def autoUploadPhoto(self,driver):
        try:
            imgPath = os.path.abspath(\'.\') + "\\\\img\\\\"
            for root, dirs, files in os.walk(imgPath):  
                if len(files) == 0:
                    print("{} 暂无可用头像".format(datetime.datetime.now()))
                    return
                if len(files) < 200:
                    print("{} 当前图片数量 {},请下载更多图片".format(datetime.datetime.now(),len(files)))
                break
            target = driver.find_element_by_xpath("//img[@class=\'Avatar Avatar--large UserAvatar-inner\']")
            src = target.get_attribute(\'src\')
            if str(src).find("da8e974dc_xl") > -1:
                print("{}  开始上传头像".format(datetime.datetime.now()))
                time.sleep(2)
                target = driver.find_element_by_xpath("//div[@class=\'Mask-content\']")
                ActionClick = ActionChains(driver).click(target)
                ActionClick.perform()
                time.sleep(5)
                newPath = self.utils.cmdZhihuUploadPhoto()
                time.sleep(8)
                target = driver.find_element_by_xpath("//div[@class=\'ModalButtonGroup ModalButtonGroup--vertical\']/button")
                ActionClick = ActionChains(driver).click(target)
                time.sleep(2)
                ActionClick.perform()
                print("{}  已上传".format(datetime.datetime.now()))
                if self.uploadFinishRemovePhoto:
                    os.remove(newPath)
                time.sleep(3)
        except Exception as e:
            print("{} 上传头像 异常 {}".format(datetime.datetime.now(),format(e)))
            time.sleep(1)

 

以上是关于python 实现 知乎批量养号的主要内容,如果未能解决你的问题,请参考以下文章

前端福利,用 JS 就能实现抖音养号等诸多功能

前端福利,用 JS 就能实现抖音养号等诸多功能

知乎python 爬虫如何入门学习

jumpserver 堡垒机

知乎控件分享

Golang知乎xx API:收藏回答