質問編集履歴
1
ご指摘ありがとうございます。以後、ご指摘いただきました点を踏まえて質問をさせて頂きます。コードブロック等を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
Webサイトでの情報を基に、
|
1
|
+
Webサイト(https://note.com/virtual_surfer/n/n9d27c8db18f8)での情報を基に、
|
2
2
|
PythonでTwitterから特定のワードを含むツイートを収集するコードを書きました。
|
3
3
|
しかし、コードの中身をコピペしてしまっている部分があり、色々と調べてみたのですが、
|
4
4
|
理解できない部分があったため、質問をさせていただきました。
|
5
5
|
|
6
|
-
|
6
|
+
```
|
7
|
-
|
7
|
+
#Twitterで特定のワードを含むツイートを収集するコード
|
8
8
|
import tweepy
|
9
9
|
CK="*******"
|
10
10
|
CS="*******"
|
@@ -16,7 +16,7 @@
|
|
16
16
|
search_word='yahoo'
|
17
17
|
search_count=3
|
18
18
|
def collect_tweets(search_word, search_count):
|
19
|
-
|
19
|
+
max_id=None
|
20
20
|
collected_tweets=[]
|
21
21
|
collected_texts=[]
|
22
22
|
lower_search_name=search_word.lower()
|
@@ -24,7 +24,9 @@
|
|
24
24
|
for i in range(0,search_count):
|
25
25
|
print('#########################')
|
26
26
|
print('「{}」での{}回目のツイート検索開始'.format(search_word,i+1))
|
27
|
+
#質問1の部分
|
27
|
-
|
28
|
+
if max_id is None:
|
29
|
+
#質問2の部分
|
28
30
|
search_results=api.search(q=search_word,count=10,lang='ja',result_type='mixed')
|
29
31
|
else:
|
30
32
|
search_results=api.search(q=search_word,count=10,lang='ja',max_id=max_id,result_type='mixed')
|
@@ -41,8 +43,9 @@
|
|
41
43
|
pre_text = text[:30]
|
42
44
|
lower_screen_name = user_info.screen_name.lower()
|
43
45
|
lower_name = user_info.name.lower()
|
46
|
+
#質問3の部分
|
44
|
-
|
47
|
+
if 'RT @' in text or pre_text in [text[:30] for text in collected_texts] or (lower_search_name in lower_screen_name or lower_search_name in lower_name):
|
45
|
-
|
48
|
+
continue
|
46
49
|
|
47
50
|
print('------------------------------------------')
|
48
51
|
print('【名前】{}\n【アカウント名】{}\n【自己紹介】{}\n【画像URL】{}\n【フォロー数】:{}\n【フォロワー数】:{}\n【ツイート】:{}'
|
@@ -50,24 +53,25 @@
|
|
50
53
|
|
51
54
|
collected_texts.append(text)
|
52
55
|
collected_tweets.append(status)
|
53
|
-
|
56
|
+
#質問4の部分
|
54
|
-
|
57
|
+
if len(search_results) > 1:
|
55
58
|
max_id = search_results[-1].id
|
56
59
|
else:
|
57
|
-
|
60
|
+
break
|
58
61
|
|
59
62
|
|
60
63
|
collect_tweets(search_word, search_count)
|
64
|
+
```
|
61
65
|
|
62
|
-
----------------------------------------------------------------------------------------
|
63
66
|
質問箇所に関するコードは、太字斜体としています。
|
64
67
|
|
68
|
+
質問内容1. if max_id is None のコードの意味
|
69
|
+
→コードの解説には、2度目以降の検索では一つ前の検索以降のつぶやきを検索していくために書くと書いてありますが、コード上ではmax_id=noneと指定しているのも相まって、良くコードの意味が理解できておりません。
|
70
|
+
|
71
|
+
|
65
|
-
質問内容
|
72
|
+
質問内容2. api.searchにおけるcountの意味
|
66
73
|
→例えば、countを10としたら1回の検索で10個特定のワードを含むものがヒットすると考えていましたが、例えばyahooで検索したら1回目 4個 2回目 4個 3回目 2個となりました。
|
67
74
|
|
68
|
-
質問内容2. if max_id is None のコードの意味
|
69
|
-
→コードの解説には、2度目以降の検索では一つ前の検索以降のつぶやきを検索していくために書くと書いてありますが、コード上ではmax_id=noneと指定しているのも相まって、良くコードの意味が理解できておりません。
|
70
|
-
|
71
75
|
質問内容3.
|
72
76
|
if 'RT @' in text or pre_text in [text[:30] for text in collected_texts] or (lower_search_name in lower_screen_name or lower_search_name in lower_name):
|
73
77
|
continueのコードの意味
|