home · Posts · Archive · Tags

20231202-twitter-bot

1. 使用 twitter API

  1. 先去 dashboard建立App,並在User authentication settings > 設定
  2. 複製 Keys and tokens

建立tweet

import tweepy bearer_token = "" consumer_key = "" consumer_secret = "" access_token = "" access_token_secret = "" client = tweepy.Client( consumer_key=consumer_key, consumer_secret=consumer_secret, access_token=access_token, access_token_secret=access_token_secret ) response = client.create_tweet( text="This Tweet was Tweeted using Tweepy and Twitter API v2!" ) print(f"https://twitter.com/user/status/{response.data['id']}") # return # Response(data={'edit_history_tweet_ids': ['1730651881314414696'], 'id': '1730651881314414696', 'text': 'This Tweet was Tweeted using Tweepy and Twitter API v2!1'}, includes={}, errors=[], meta={}) # get me response = client.get_me() response

免費版只有幾個 API https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api

2. 使用 seleium

from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('https://twitter.com/i/flow/login') username = driver.find_element(By.TAG_NAME, 'input') username.send_keys("") all_btn = driver.find_elements(By.XPATH, "//div[@role='button']") all_btn[-2].click() password = driver.find_element(By.XPATH, '//input[@type="password"]') password.send_keys("") all_btn = driver.find_elements(By.XPATH, "//div[@role='button']") all_btn[-1].click() keyword = "cat" driver.get(f"https://twitter.com/search?q={keyword}&src=typed_query") retweet = driver.find_elements(By.XPATH, "//div[@data-testid='retweet']") retweet[0].click() quote_tweet = driver.find_elements(By.XPATH, "//a[@role='menuitem']") quote_tweet[0].click() quote = driver.find_element(By.XPATH, "//div[contains(@class, 'public-DraftStyleDefault-block')]") quote.send_keys("OMG!") tweet = driver.find_element(By.XPATH, "//div[@data-testid='tweetButton']") tweet.click() driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

Ref

https://developer.twitter.com/en/portal/dashboard https://github.com/tweepy/tweepy/blob/master/examples/API_v2/create_tweet.py

👈Go Back

@alanhc