読者です 読者をやめる 読者になる 読者になる

望月いちろうのREADME.md

書き溜めておいた技術記事や旅行記のバックアップです。

Twitter APIで Bot に 自動いいね を実行させる方法 - Pythonでの

Twitter API Python

アクセスポイント

POST favorites/create

説明

認証済みアカウントに対して特定のIDのツィートにいいねを押すことができます。成功時には、いいねを押したツィートの情報がJSON形式で返却されます。

https://api.twitter.com/1.1/favorites/create.json

パラメータ

説明 必須か?
id 対象とするツィートのID 35264262412
include_entitles 返り値のJSONに詳細情報(entities)を含むか false ×

Pythonを利用してこのアクセスポイントをテストしてみることにしましょう。

今回使うモジュールはこれです。

github.com

from twitter import *

# ここにあなたの取得したアクセストークンを入れてください。

conf = {"accessToken":"466345354-Hywvjhq5jh45gq345jh904jh045j0cbrg","accessTokenSecret":"A

y5ykq45jh0hjqj45hjq495jq490wj0I","consumerKey":"Uugj954jh0j5jh49jgpiCXH","consumerSecret":"y6y5q4h4hqDFejjthjrqtj9qjt90jrt09jrw0tgj90wj9-4hb-2948jh29-5u"}
# ここにツィートのIDを入力

id = "795812394882605056"

t = Twitter(auth=OAuth(conf["accessToken"],conf["accessTokenSecret"],conf["consumerKey"],conf["consumerSecret"]))

t.favorites.create(_id=id, include_entitles="true")

 

このスクリプトを実行します。

python3 fav_test.py

成功すると以下のようなJSONが返却されます。

{'in_reply_to_user_id': None, 'created_at': 'Tue Nov 08 02:17:15 +0000 2016', 'truncated': False, 'entities': {'urls': [{'indices': [41, 64], 'display_url': 'scalaconfjp.doorkeeper.jp/events/53530', 'url': 'https://t.co/rojZrngP65', 'expanded_url': 'https://scalaconfjp.doorkeeper.jp/events/53530'}], 'user_mentions': [{'indices': [65, 74], 'name': 'scala_jp', 'id': 427301617, 'screen_name': 'scala_jp', 'id_str': '427301617'}], 'symbols': [], 'hashtags': [{'indices': [27, 40], 'text': 'ScalaMatsuri'}]}, 'favorited': True, 'lang': 'ja', 'contributors': None, 'retweet_count': 0, 'coordinates': None, 'geo': None, 'in_reply_to_screen_name': None, 'favorite_count': 1, 'id_str': '795812394882605056', 'place': None, 'is_quote_status': False, 'source': '<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>', 'user': {'profile_text_color': '333333', 'listed_count': 119, 'default_profile': False, 'screen_name': 'applideveloper', 'profile_image_url': 'http://pbs.twimg.com/profile_images/2925080445/b316e3066a391bb79a6ad05142cbcc90_normal.jpeg', 'protected': False, 'geo_enabled': False, 'default_profile_image': False, 'profile_sidebar_border_color': 'FFFFFF', 'entities': {'description': {'urls': []}}, 'notifications': False, 'lang': 'ja', 'is_translator': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2925080445/b316e3066a391bb79a6ad05142cbcc90_normal.jpeg', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/166784086/1378528078', 'created_at': 'Thu Jul 15 00:26:33 +0000 2010', 'friends_count': 1066, 'is_translation_enabled': False, 'url': None, 'contributors_enabled': False, 'utc_offset': 32400, 'profile_background_color': 'C0DEED', 'name': '荒木敦', 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/723581778/1a2fda06f06112e2b5550de4e04881e4.jpeg', 'followers_count': 630, 'has_extended_profile': False, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/723581778/1a2fda06f06112e2b5550de4e04881e4.jpeg', 'id': 166784086, 'location': '', 'favourites_count': 87, 'description': 'SwiftエンジニアAdobe/HTML5/XML/C/C#/C++/ObjectiveC/Java/JavaScript/ Perl/PHP/Ruby/Python/Go/Swift/MongoDB/ActionScript iPhone,Androidアプリ開発 ITに関するご相談承ります', 'profile_use_background_image': True, 'id_str': '166784086', 'follow_request_sent': False, 'following': False, 'profile_link_color': '0084B4', 'time_zone': 'Tokyo', 'statuses_count': 9121, 'profile_background_tile': False, 'profile_sidebar_fill_color': 'DDEEF6', 'translator_type': 'none', 'verified': False}, 'retweeted': False, 'id': 795812394882605056, 'in_reply_to_status_id_str': None, 'in_reply_to_status_id': None, 'text': 'ScalaMatsuri 2017に申し込みました! #ScalaMatsuri https://t.co/rojZrngP65 @scala_jpさんから', 'in_reply_to_user_id_str': None, 'possibly_sensitive': False}

WEBクライアントで確認してみると・・・

f:id:mochizuki_p:20161108112729p:plain

成功していますね。

注意点

APIを利用した自動いいねを過剰に行うとすぐにアカウントが凍結されてしまいます。1日のいいね数は多くとも100程度にとどめておく、また短い間に連続していいねを実行しないなどの注意が必要です

入門 Python 3

入門 Python 3