ツイート情報を取得しSQL Serverに入れるスクリプトを作っています。
python
1#!/usr/bin/env python 2# -*- coding:utf-8 -*- 3 4# Tweepyライブラリをインポート 5import tweepy 6import pymssql 7 8auth = tweepy.OAuthHandler('xxxxx','xxxxxx') 9auth.set_access_token('xxxxxx','xxxxxx') 10 11tw = tweepy.API(auth) 12search_result = tw.search(q='検索ワード',rpp='1') 13print len(search_result) 14_conn = pymssql.connect(host="xxxx", user="sa", password="xxxxx", database="xxxx") 15_cur = _conn.cursor() 16 17print len(search_result) 18for r in len(search_result): 19 createtime = search_result[r].created_at 20 tweet_id = search_result[r].id 21 user_id = search_result[r].author.screen_name 22 text = search_result[r].text 23 24 sql = """USE heep; 25 IF EXISTS (SELECT tweet_id FROM tweets WHERE term = \'{tweet_id}\') 26 UPDATE tweets 27 SET text=\'{text}\', tweet_id=\'{tweet_id}\', user_id=\'{user_id}\', createtime=\'{createtime}\' 28 WHERE tweet_id = \'{tweet_id}\' 29 ELSE 30 INSERT INTO tweets 31 VALUES(\'{test}\', \'{tweet_id}\', \'{user_id}\', \'{createtime}\') 32 """.format(text=text, tweet_id=tweet_id ,user_id=user_id, createtime=createtime) 33 _cur.execute(sql) 34 _conn.commit() 35_conn.close()
print len(search_result) では、正常に「15」とカウントされてますが、
for r in len(search_result): とfor文の条件に入れた場合、
Traceback (most recent call last):
File "gettw.py", line 17, in <module>
for r in len(search_result):
TypeError: 'int' object is not iterable
とエラーがでて実行できません。
1つ1つを print search_result[0].text として
データが取得できる事は確認しています。
お手数ですが、解決方法をご教示頂きたく、
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。