返回首页

  主页 > 编程 > python >

Python Selenimu 实现twitter 推特自动发布 twitter导流

2019-02-27 14:54 阅读:173 来源:智宇SEO自媒体

  Python Selenimu 实现twitter 推特自动发布 twitter导流
     
       贴上代码:

# -*- coding: utf-8 -*-
# @Time         : 2019/2/24 14:52
# @Author       : Zhiyu
# @File         : reddit.py.py
# @Software     : PyCharm
# @Description  : Reddit 分享类

import time,os,io,json,platform,math,random,re
from selenium.webdriver.common.by import By
from selenium import webdriver
import sys
reload(sys)
sys.setdefaultencoding('utf-8')


class Twitter:
    """
    分享到Twitter
    """
    # 当前根目录
    root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    driver = None
    def __init__(self , debug=False):
        """
        初始化
        :param debug:
        """
        # 启动chrome
        try:
            # chrome 配置项
            chrome_options = webdriver.ChromeOptions()

            executable_path = self.root + '/chrome/chromedriver'  # Linux使用
            if platform.system() != 'Linux':
                executable_path = executable_path + '.exe'  # window使用exe
                chrome_options.add_argument("--proxy-server=http://127.0.0.1:1080")
            else:
                chrome_options.add_argument("--proxy-server=http://192.168.31.173:1080")

            if debug == False:
                chrome_options.add_argument('--headless')
                chrome_options.add_argument('--no-sandbox')
                chrome_options.add_argument('--disable-gpu')
                chrome_options.add_argument('--disable-setuid-sandbox')
                chrome_options.add_argument('--disable-dev-shm-usage')

            # 初始化chrome
            self.driver = webdriver.Chrome(executable_path, 0, chrome_options)
            # 屏幕最大化
            self.driver.maximize_window()
            # 加载cookie前 需要先请求该域名任意链接
            self.driver.get("http://twitter.com/")

            # 读取COOKIE 并加如到浏览器中
            f = io.open(self.root + '/cookie/twitter', 'r', encoding='utf-8')
            cookies = json.loads(f.read())
            for cookie in cookies:  # 添加cookie 字典
                self.driver.add_cookie(cookie)

            time.sleep(1)
        except Exception, e:
            print e
            print 'repr(e):	', repr(e)
            ret = None
            print "初始化失败!"
            exit()

    def auto_post(self , text):
        try:
            url = "http://twitter.com/"
            self.driver.get(url)
            time.sleep(1)

            self.driver.find_element_by_xpath('//*[@id="tweet-box-home-timeline"]/div').click()
            time.sleep(1)

            title_area = self.driver.find_element_by_xpath(
                '//*[@id="tweet-box-home-timeline"]')
            title_area.send_keys(text)
            time.sleep(2)
            print("send text")

            self.driver.find_element_by_xpath('//*[@id="timeline"]/div[2]/div/form/div[3]/div[2]/button').click()
            time.sleep(2)
            print("post done")
            ret = True
        except Exception ,e:
            print 'repr(e):	', repr(e)
            ret = False
        self.driver.close()
        self.driver.quit()
        self.driver = None
        return  ret


 



返回首页
利博娱乐计划 利博娱乐官网 利博娱乐APP 利博娱乐走势图 利博娱乐下载 利博娱乐官方 利博娱乐网站 利博娱乐怎么玩 利博娱乐官方 利博娱乐靠谱吗 利博娱乐代理 利博娱乐骗局 利博娱乐投注 利博娱乐倍率 利博娱乐开奖 利博娱乐漏洞