Wenn ein Tweet auf Twitter ein bestimmtes Schlüsselwort enthält, Ein Skript zum Speichern in CSV.
twitcsvfield.py
#!/user/bin/env python
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import csv
import json
import sys, codecs
C_KEY = "*************************"
C_SECRET = "*************************"
A_KEY = "*************************"
A_SECRET = "*************************"
def Home_timeline(field):
url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
params = {
"lang": "ja",
"count": "100"
}
tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)
req = tw.get(url, params = params)
tweets = json.loads(req.text)
f = open("tweetsearch.csv" , "ab")
writer = csv.writer(f)
writer.writerow(["Datatime", "User", "Name", "Text", "Place"])
for tweet in tweets:
created_at = (tweet["created_at"])
User = (tweet["user"]["screen_name"].encode("utf-8"))
Name = (tweet["user"]["name"].encode("utf-8"))
Text = (tweet["text"].encode("utf-8"))
Place = (tweet["place"])
if (tweet["text"]) == field:
writer.writerow([created_at, User, Name, Text, Place])
f.close()
else:
pass
return Home_timeline
def Limit_Status():
url = "https://api.twitter.com/1.1/application/rate_limit_status.json"
params = {}
tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)
req = tw.get(url, params = params)
if req.status_code == 200:
limit = req.headers["x-rate-limit-remaining"]
print ("API remain: " + limit)
return Limit_Status
Home_timeline(u"Prüfung")
Limit_Status()
Speichern Sie in diesem Beispiel die Zeichenfolge "test", wenn sie in home_timeline vorhanden ist. Wenn keine CSV-Datei vorhanden ist, wird diese wie gewohnt erstellt. Wenn dies der Fall ist, wird sie überschrieben Beachten Sie, dass der CSV-Header dupliziert wird, wenn er kontinuierlich erfasst wird.
Ich habe das Gefühl, dass ich von hier aus mit verschiedenen Modifikationen spielen kann.
Recommended Posts