質問編集履歴

5

追記させていただきました。

2019/03/31 12:11

投稿

kanitan
kanitan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -239,3 +239,39 @@
239
239
  thread_2.start()
240
240
 
241
241
  ```
242
+
243
+
244
+
245
+ (追記3/31)
246
+
247
+
248
+
249
+ 「autoLike.py」の先頭にシェバンを追記
250
+
251
+
252
+
253
+ ```
254
+
255
+ #!/usr/bin/env bash
256
+
257
+ ```
258
+
259
+
260
+
261
+ which python3の実行結果
262
+
263
+ ```
264
+
265
+ /anaconda3/bin/python3
266
+
267
+ ```
268
+
269
+
270
+
271
+
272
+
273
+ crontab -eの中身(Jupyterでtwitterという名のフォルダを作成し、その中にスクリプトファイルを作成)
274
+
275
+
276
+
277
+ 5 * * * * /anaconda3/bin/python3/twitter/autoLike.py ルミガン

4

「time.py」の中身です。「autoLike.py」で実行できないため、代わりに実行を試みましたがやはり動かないことが判明

2019/03/31 12:11

投稿

kanitan
kanitan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -175,3 +175,67 @@
175
175
  likeTweets(tweets)
176
176
 
177
177
  ```
178
+
179
+
180
+
181
+ ```ここに言語を入力
182
+
183
+ from time import sleep
184
+
185
+ from threading import Thread
186
+
187
+ # Threadオブジェクトをインポート
188
+
189
+
190
+
191
+ target_time = 10
192
+
193
+
194
+
195
+ def up_timer(secs):
196
+
197
+ for i in range(0,secs):
198
+
199
+ print(i)
200
+
201
+ sleep(1)
202
+
203
+ print("カウントアップ終了!")
204
+
205
+
206
+
207
+
208
+
209
+ def down_timer(secs):
210
+
211
+ # for i in range(0,secs):から変更
212
+
213
+ for i in range(secs, -1, -1):
214
+
215
+ # 以下同じ・・・
216
+
217
+
218
+
219
+ print(i)
220
+
221
+ sleep(1)
222
+
223
+ print("カウントダウン終了!")
224
+
225
+
226
+
227
+ # Threadインスタンスをタイマーごとに生成する
228
+
229
+ thread_1 = Thread(target=up_timer,args=(target_time,))
230
+
231
+ thread_2 = Thread(target=down_timer,args=(target_time,))
232
+
233
+
234
+
235
+ # それぞれのスレッドを起動する
236
+
237
+ thread_1.start()
238
+
239
+ thread_2.start()
240
+
241
+ ```

3

一部修正いたしました。

2019/03/30 02:15

投稿

kanitan
kanitan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -90,13 +90,13 @@
90
90
 
91
91
 
92
92
 
93
- CONSUMER_KEY = "ncRSHN0zVX3nnw5RzssClvnUl"
93
+ CONSUMER_KEY = "キー"
94
94
 
95
- CONSUMER_SECRET = "tSG929GdGSjTVUtxTh5uARmznMS5Z6XY9CiHoPiaX5UAN06b7o"
95
+ CONSUMER_SECRET = "キー"
96
96
 
97
- ACCESS_TOKEN = "1034618905954643968-eAPyFevw6SD0e6zr3MCWZ4zmZWgmdM"
97
+ ACCESS_TOKEN = "キー"
98
98
 
99
- ACCESS_SECRET = "3K1LgcByAfZCQC6PynSaM72p8zLPeY6jlYkBkWobwum7u"
99
+ ACCESS_SECRET = "キー"
100
100
 
101
101
 
102
102
 

2

こちらが追記です。

2019/03/30 01:56

投稿

kanitan
kanitan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -73,3 +73,105 @@
73
73
  /bin/bash
74
74
 
75
75
  ```
76
+
77
+
78
+
79
+ 追記(3/30)
80
+
81
+ ```ここに言語を入力
82
+
83
+ import tweepy
84
+
85
+ import time
86
+
87
+ import sys
88
+
89
+ from datetime import datetime
90
+
91
+
92
+
93
+ CONSUMER_KEY = "ncRSHN0zVX3nnw5RzssClvnUl"
94
+
95
+ CONSUMER_SECRET = "tSG929GdGSjTVUtxTh5uARmznMS5Z6XY9CiHoPiaX5UAN06b7o"
96
+
97
+ ACCESS_TOKEN = "1034618905954643968-eAPyFevw6SD0e6zr3MCWZ4zmZWgmdM"
98
+
99
+ ACCESS_SECRET = "3K1LgcByAfZCQC6PynSaM72p8zLPeY6jlYkBkWobwum7u"
100
+
101
+
102
+
103
+ #関数群
104
+
105
+ def searchTweets(query):
106
+
107
+ tweets = api.search(q=query, count=100)
108
+
109
+ return tweets
110
+
111
+
112
+
113
+ def likeTweets(tweets):
114
+
115
+ like_count= 0
116
+
117
+ created_at = datetime.now().strftime("%Y%m%d%H%M%S")
118
+
119
+ for tweet in tweets:
120
+
121
+ user_id = tweet.user._json['screen_name']
122
+
123
+ tweet_id = tweet.id
124
+
125
+ try:
126
+
127
+ api.create_favorite(tweet_id) #フォロワーでなければいいねする
128
+
129
+ print("{}:[INFO]以下のユーザーをいいねしました。user_id:{}".format(created_at, user_id))
130
+
131
+ like_count += 1
132
+
133
+ print("[INFO]いいね数: {}".format(like_count))
134
+
135
+ except Exception as e:
136
+
137
+ print("[ERROR]いいねに失敗しました: {}".format(e))
138
+
139
+ if e.response and e.response.status == 429:
140
+
141
+ print("[INFO] rate limitの上限値を超えたので、15分待機後に実行します。")
142
+
143
+ time.sleep(60 * 15)
144
+
145
+ if e.response and e.response.status == 139:
146
+
147
+ print("[ERROR] すでにいいねをしているツイートです")
148
+
149
+ return like_count
150
+
151
+
152
+
153
+ if __name__ == '__main__':
154
+
155
+ #Tweepy
156
+
157
+ auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
158
+
159
+ auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
160
+
161
+ #APIインスタンスを作成
162
+
163
+ api = tweepy.API(auth)
164
+
165
+ #引数を受け取る
166
+
167
+ args = sys.argv
168
+
169
+ query = args[1] #中身がhoge
170
+
171
+ #いいねする
172
+
173
+ tweets = searchTweets(query)
174
+
175
+ likeTweets(tweets)
176
+
177
+ ```

1

シェルスクリプトの内容を追記しました。

2019/03/30 00:47

投稿

kanitan
kanitan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,13 @@
63
63
  大変お手数ですが、ヒントをいただけますと幸いです。
64
64
 
65
65
  よろしくお願いいたします。
66
+
67
+
68
+
69
+ 追記(3/28)
70
+
71
+ ```ここに言語を入力
72
+
73
+ /bin/bash
74
+
75
+ ```