質問編集履歴

1

全てのコードを載せてみました

2019/08/16 04:53

投稿

farinelli
farinelli

スコア61

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,16 @@
1
1
  Pythonでリアルタイムで取ってきたツイート数をカウントアップしたいのですが、ツイート数ではなくツイート毎の改行数が出力されてしまい困っています。
2
2
 
3
3
  この場合どうすればいいのでしょうか?
4
+
5
+
6
+
7
+ 追記: statusメソッドに関しては、ツイートが持つ属性のことだと解釈しています。(間違っていたらすみません)
8
+
9
+ こちらを参考にしていただけますと幸いです。
10
+
11
+ https://kurozumi.github.io/tweepy/streaming_how_to.html#step-1-creating-a-streamlistener
12
+
13
+ https://syncer.jp/Web/API/Twitter/REST_API/Object/Tweet/
4
14
 
5
15
 
6
16
 
@@ -10,15 +20,79 @@
10
20
 
11
21
  ```python
12
22
 
13
- tweet_number = status.text
23
+ import os
14
24
 
15
- i = 0
25
+ import tweepy
16
26
 
27
+ import redis
28
+
29
+ import math
30
+
31
+ from collections import Counter
32
+
33
+
34
+
35
+ #r = redis.Redis(host='localhost', port=6379, db=0)
36
+
37
+
38
+
39
+ TWITTER_CLIENT_ID = os.environ['TWITTER_CLIENT_ID']
40
+
41
+ TWITTER_CLIENT_SECRET = os.environ['TWITTER_CLIENT_SECRET']
42
+
43
+
44
+
45
+ TWITTER_OAUTH_TOKEN = os.environ['TWITTER_OAUTH_TOKEN']
46
+
47
+ TWITTER_OAUTH_TOKEN_SECRET = os.environ['TWITTER_OAUTH_TOKEN_SECRET']
48
+
49
+
50
+
51
+ auth = tweepy.OAuthHandler(TWITTER_CLIENT_ID,TWITTER_CLIENT_SECRET)
52
+
53
+ auth.set_access_token(TWITTER_OAUTH_TOKEN,TWITTER_OAUTH_TOKEN_SECRET)
54
+
55
+
56
+
57
+ class StreamListener(tweepy.StreamListener):
58
+
59
+ def on_status(self, status):
60
+
61
+ text = str(status.text)
62
+
63
+ tweet_number = status.id_str
64
+
65
+ i = 0
66
+
67
+ #日本語ツイートをファイルに書き込んでいる
68
+
69
+ if status.lang == "ja":
70
+
71
+ with open("test20.txt", "a", encoding="utf-8") as f:
72
+
73
+ f.write(text)
74
+
75
+
76
+
77
+ #問題の箇所(ツイート数が知りたくて数え上げをしたいが、上手くいっていない)
78
+
17
- for i in range(tweet_number.split("\n")):
79
+ for i in range(tweet_number.split("\n")):
18
80
 
19
81
  i = i + 1
20
82
 
21
83
  print("これは %d ツイート目です" % i)
84
+
85
+
86
+
87
+ def on_error(self, status_code):
88
+
89
+ return False
90
+
91
+
92
+
93
+ stream = tweepy.Stream(auth=auth, listener=StreamListener())
94
+
95
+ stream.sample()
22
96
 
23
97
  ```
24
98