Pythonで収集したデータをmongodbに格納したい
上記の方のプログラムを動かしたいです。
http://www.inmyzakki.com/entry/2017/05/17/190000
Pythonでtwitterのデータを収集し、MongoDBに格納したいです。
実行すると以下のようにエラーが出ています。
File "gettweet.py", line 16
connect = MongoClient('localhost', 27017)
^
SyntaxError: invalid syntax
特にエラーがないと思えるのですが、なぜいけないのでしょうか。
よろしくお願いします。
以下がソースコードになります。
from requests_oauthlib import OAuth1Session, OAuth1
import json
import requests
import urllib
import sys
import io
import pymongo
from pymongo import MongoClient
def initialize():
global twitter,connect, db, tweetdata, meta
twitter = OAuth1Session(KEYS['consumer_key'],KEYS['consumer_secret'],
KEYS['access_token'],KEYS['access_secret']
connect = MongoClient('localhost', 27017)
db = connect.kenko2
tweetdata= db.tweetdata
meta= db.metadata2
posi_nega_dict = db.posinegadict
#検索文字列設定
word = "健康"
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
#apiキー情報設定
consumer_key = "*********"
consumer_key_secret = "*********"
access_token = "*********"
access_token_secret = "*********"
#twitterAPIアクセス
url = "https://api.twitter.com/1.1/search/tweets.json?count=100&lang=ja&q=" + word
auth = OAuth1(consumer_key, consumer_key_secret, access_token, access_token_secret)
response = requests.get(url, auth = auth)
data = response.json().get('statuses')
cnt = 0
while True:
if not data:break
for tweet in data:
print("------------------------------------------------------------------")
print(tweet["id"])#ツイートID
print(tweet["text"])#ツイート内容
print(tweet["created_at"])#ツイート日時
cnt += 1
maxid = int(tweet["id"]) - 1
#ツイートがない場合ループ終了
if len(data) == 0:
break
url = "https://api.twitter.com/1.1/search/tweets.json?count=100&lang=ja&q=" + word + "&max_id=" + str(maxid)
auth = OAuth1(consumer_key, consumer_key_secret, access_token, access_token_secret)
response = requests.get(url, auth = auth)
data = response.json()['statuses']
print("ツイート数:" + str(cnt))
print(True)