下記の様なAPIを使用しないpythonのツイートプログラムで、
画像付きツイートを行うにはどの様な変更を行えばいいでしょうか。
def TwitterTweet():
username = "@xxxxxxxx"
password = "xxxxxxxxx"
session = requests.Session() headers = { "user-agent": "Mozilla/5.0", "accept":"text/html,application/xhtml+xml,application/xml;", "accept-language":"ja,en-US;q=0.8,en;q=0.6", "content-type":"application/x-www-form-urlencoded", "origin":"https://twitter.com/", "referer":"https://twitter.com/", "upgrade-insecure-requests":"1" } payload = { "session[username_or_email]":"", "session[password]":"", "remember_me":"1", "return_to_ssl":"true", "scribe_log":"", "redirect_after_login":"/", } tweet1 = { "authenticity_token":"", "is_permalink_page":"false", "page_context":"profile", "place_id":"", "status":"test", "tagged_users":"" } response = session.get('https://twitter.com/',headers=headers,allow_redirects=False) soup = BeautifulSoup(response.text,"lxml") auth_token = soup.find(attrs={'name': 'authenticity_token'}).get('value') print (auth_token) payload["authenticity_token"] = auth_token payload["session[username_or_email]"] = username payload["session[password]"] = password login = session.post('https://twitter.com/sessions',headers=headers,data=payload,allow_redirects=False) if login.status_code ==302: print ("[+] ログイン完了 HTTP ステータスコード:"), print (login.status_code) else: print("[+] ログイン失敗 HTTP ステータスコード:"), print(login.status_code) import datetime today = datetime.date.today() today_text = today.isoformat() today_text = "../text/" + today_text + ".txt" with open (today_text, 'r') as f: for line in f: sleep(180) tweet1["status"]= line tweet = session.post("https://twitter.com/i/tweet/create",data=tweet1,allow_redirects=True,headers=headers,cookies=login.cookies) if tweet.status_code ==200: print("[+]ツイート完了") print("HTTPステータスコード:") print(tweet.status_code) else: print("[+]ツイート失敗 HTTPステータスコード:") print(tweet.status_code)
if name == "main":
TwitterTweet()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。