2016-01-01から1年間の記事一覧

絵師さんのTweetをRTするbotについて(6) - さらなる改良に向けて

botを稼働させてみて、いくつか追加したい機能、変更した方がいいなと思う仕様、やりたいことについて Twitter APIを叩いている処理のすべてに例外処理をつける-> 7/30 Done. 最新のTweet、同日中のTweetのRTを優先させる-> 7/30 再評価/RT時にシャッフルす…

絵師さんのTweetをRTするbotについて(6) - ベータ版

ファイル構成 実行コード.py既読履歴.jsonフォロー一覧.json絵付きTweetリスト.jsonログ.json 仕様 1.フォロー一覧の更新 フォロー一覧.jsonを読込 現在の自分のフォローと対照して更新 上書保存 2.最新のTLから絵付きTweetリストを抽出 既読履歴.jsonを…

絵師さんのTweetをRTするbotについて(5) - フィルタリングと個別TL掘削

ノイズ除去の方法 実装済の機能は以下のとおり。 フォローしているユーザーがRTしたものは除去する RT数とふぁぼ数で閾値を設け、閾値に達しないものは保留扱いとする。保留扱いのTweetは次のbot実行時にシャッフルして再度評価し直す。 これでずいぶんノイ…

さくらVPSを借りてpython baseのTwitter botを起動するまで(2)

前回環境構築は完了したので、Twitter botを起動するところまでやってみる。 各種テストコードを試しさくらVPS上の環境でのpython等の動作を確認する botの絶対参照部分の修正を行いbotの動作を確認する cronのテストを行なってcronの動作を確認する 低頻度…

さくらVPSを借りてpython baseのTwitter botを起動するまで(1)

python3.5 + tweepy3.5.0 + cron 環境でbotを回したい…ということでサーバーを借りることにした。特にサーバーをいじった経験がないので、ちょこちょこぐぐってみて他の人のブログ記事が豊富なさくらインターネットにしてみることにした。無料期間が2週間つ…

絵師さんのTweetをRTするbotについて(4) - 6時間程度のテスト実行後の課題

RT対象となるTweetの数 自分のタイムラインにはフォローしているユーザーのTweetおよびそのユーザーがRTしたTweetが流れてくる。RTされたTweetを除去している現在の環境では、500名程度のフォローでは休日昼間の巡航運転時(画像付きTweetの投稿はかなり多め…

絵師さんのTweetをRTするbotについて(3) - プロトタイプ

ファイル構成 実行コード.py 既読履歴.json 絵付きTweetリスト.json ログ.json 仕様 ※5分ごとに実行することを想定してTweetの読み込み件数等は割り当てている 1.既読履歴.jsonに記載されている最新のTweetまで、最大1000件のTweetを自分のタイムラインか…

絵師さんのTweetをRTするbotについて(2) - 現状解決可能な問題として

作りたい機能: 絵師さんをフォローした状態のアカウントのTLを読み込み、絵付きのTweetをRTする。 制限: home_timeline(自分のタイムライン)は最大3200Tweetまでの取得、15分で15回までの取得 user_timeline(特定のユーザーのTweet)は最大3200Tweetま…

Twitter APIでTLやuser_timelineをさかのぼるときの制限

上限は以下のとおりの模様。 これがボトルネックになって絵師さんのアップした画像を全部蒐集するという目標は挫折する模様。がくり。 home_timeline = 3200 tl=api.home_timeline(max_id=すごく古いid) とかにすると何も帰ってこなくなる。 user_timeline =…

tweepyの導入とpython対話型コンソール上での操作(6)

RTすべきTweetを探すのにフォローしている人を順々に当たる方法を考えていた。 つまり、 1.フォローしているユーザーそれぞれに取得済みTweetを把握する 2.フォローしているユーザーについて未取得Tweetを取得 3.2で取得したTweetから画像付きTweetを…

Pythonで辞書や配列を操作する(tweepyで取得したデータも含めて)

kesin.hatenablog.com 自分のフォロー一覧を配列で取得する。 配列を辞書に格納する。 また、試しに出力してみる。 myID = api.me().id fl = api.friends_ids(myID) dicFollow = {} dicFollow['IDs'] = fl for id in dicFollow['IDs']: print(id) これでフォ…

Pythonでjsonを扱う

d.hatena.ne.jp まずは読み書き import jsondic = {"Hello":"World", "No":"Thank you", "Perfect":"Python"} # JSONファイル書き込みwith open('fenrifja.json', 'w') as f: json.dump(dic, f, sort_keys=True, indent=4) # JSONファイル読み込みwith open(…

tweepyの導入とpython対話型コンソール上での操作(5)

任意のユーザーのTweetを最新のものから任意の個数取得し、 取得した範囲を記憶し、次回取得時、 同じユーザーのTLを最新から前回取得した最新のものまで、 これまでに取得した最古のものの次から任意の個数まで、 取得する方法を調べる。 API Reference — t…

tweepyの導入とpython対話型コンソール上での操作(4)

少し慣れてきたので公式documentを参照しながらコードにする道筋を立てていく。 API Reference — tweepy 3.5.0 documentation Followしているユーザーのリストを作成する。 テストユーザーとしてフォローの多い人を使用 @anzusayuri5555 python >>> import t…

tweepyの導入とpython対話型コンソール上での操作(3)

RT機能のテスト >>> tltest=api.home_timeline() >>> tltest[0].text "本日は晴天なり云々" >>> twtid = tltest[0].id >>> api.retweet(twtid) たぶんtltest[0]と同じでオブジェクトの中身が全部列挙されている文字列が延々と続く。 web上で確認したところRT…

絵師さんのTweetをRTするbotについて(1)

作りたい機能: フォローしている絵師さんのTweetのうち、絵付きのものを取りこぼすことなくRTする。絵付きTweetがあまりない時間であれば、過去の絵付きTweetをRTする。 頻度: 新規の絵付きTweet:絵師さんがTweetした後速やかに。 過去の絵付きTweet:新…

tweepyの導入とpython対話型コンソール上での操作(2)

前回の復習 コマンドプロンプトを起動 python >>> import twpy # twpy.pyは前回のものを流用 >>> api=twpy.api >>> tl=api.user_timeline ('tokyoshashinbu', count = 200) ここまでで@tokyoshashinbuの最新のTweetが200個まで取得できた。 >>> type(tl) <class 'tweepy.models.ResultSet' > Re</class>…

tweepyの導入とpython対話型コンソール上での操作(1)

準備済だったこと 10分でわかるPythonの開発環境 from Hisao Soyama www.slideshare.net 上記slideshareを参考にpython3.5のインストール pipはデフォルトで同時にインストールされる 環境変数にC:/Users/userを追加 sublimeのインストールおよび日本語化 最…