回答編集履歴
8
UTCの件コメント追加
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
dt = datetime.datetime.now()
|
52
52
|
|
53
|
-
dt_hour_min = dt.strftime("%H%M") # 現在時刻(時間+分)を格納する。
|
53
|
+
dt_hour_min = dt.strftime("%H%M") # 現在時刻(時間+分)を格納する。※apiで取得される時間はUTCなのでUTC以外と比較する場合は適宜調整すること
|
54
54
|
|
55
55
|
|
56
56
|
|
7
f
test
CHANGED
@@ -19,6 +19,10 @@
|
|
19
19
|
質問により仕様を明確化させていただいた結果を踏まえ、監視対象時間を時・分の形に変え、
|
20
20
|
|
21
21
|
かつ監視対象時間外のツイートについては一切無視する形としています。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
(無限ループを抜ける場合は、CTRL+C(macの場合Command+Zでも終了できると思います。)を押してください)
|
22
26
|
|
23
27
|
|
24
28
|
|
6
追加
test
CHANGED
@@ -1,4 +1,16 @@
|
|
1
|
-
元のコードですと、指定した分(settime)と現在時刻の分が同じになった場合、whileループを抜けて終了してしまいます。
|
1
|
+
元質問文の1番目に掲示されたコードですと、指定した分(settime)と現在時刻の分が同じになった場合、whileループを抜けて終了してしまいます。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
```
|
6
|
+
|
7
|
+
while set_time != dt_min: <--- set_time == dt_min である場合、whileループを抜けてプログラムが終わる
|
8
|
+
|
9
|
+
(処理)
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
|
2
14
|
|
3
15
|
したがって、元のコードを生かすならば、下記のように、無限ループにしたうえで、1秒ごとに現在時刻が指定した時刻であるかどうか監視する形になります。
|
4
16
|
|
5
修正
test
CHANGED
@@ -93,7 +93,3 @@
|
|
93
93
|
|
94
94
|
|
95
95
|
```
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
(他の回答者の方へ:上記はベストプラクティスではありませんが、可能な限り元のコードを生かすために上記内容として回答しています。)
|
4
コメント修正
test
CHANGED
@@ -64,19 +64,21 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
-
#
|
67
|
+
# ツイートの時・分を取得
|
68
68
|
|
69
69
|
tt = re.findall(r"\d+", str(status.created_at))
|
70
70
|
|
71
71
|
tt_hour_min = ''.join((tt[3],tt[4]))
|
72
|
-
|
73
|
-
|
74
72
|
|
75
73
|
# 指定した時間以外のツイートであった場合は、forループを抜ける。(本来ならば、前日の同じ時刻のツイートの存在まで考慮すべきですが、ここでは簡便のため考慮していません)
|
76
74
|
|
77
75
|
if tt_hour_min != set_time:
|
78
76
|
|
79
77
|
break
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
# ここ以下にやりたい処理を書きます。
|
80
82
|
|
81
83
|
content = re.findall(r"\w+", status.full_text)
|
82
84
|
|
3
コメント修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
for status in tweet:
|
52
52
|
|
53
|
-
# すでに取得
|
53
|
+
# 取得したツイートが、すでに取得済のツイートと重複していないか判定する。
|
54
54
|
|
55
55
|
# 重複している場合はforループを抜ける。
|
56
56
|
|
@@ -58,9 +58,13 @@
|
|
58
58
|
|
59
59
|
break
|
60
60
|
|
61
|
-
# 取得したツイートのIDを格納する。
|
61
|
+
# 取得したツイートのIDを重複判定用のsetに格納する。
|
62
62
|
|
63
63
|
fetched_tweet_ids.add(status.id)
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
# ここにやりたい処理を書きます
|
64
68
|
|
65
69
|
tt = re.findall(r"\d+", str(status.created_at))
|
66
70
|
|
2
ツイート取得数をもとのコードと同じ数に修正
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
|
46
46
|
|
47
|
-
tweet = tweepy.Cursor(api.user_timeline, id = username, tweet_mode = "extended").items(
|
47
|
+
tweet = tweepy.Cursor(api.user_timeline, id = username, tweet_mode = "extended").items(1)
|
48
48
|
|
49
49
|
|
50
50
|
|
1
import
test
CHANGED
@@ -11,6 +11,10 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
```
|
14
|
+
|
15
|
+
(前略)
|
16
|
+
|
17
|
+
import time
|
14
18
|
|
15
19
|
(前略)
|
16
20
|
|