ここではPythonの初心者で、スクリプトでTwitterカーソルを機能させようとしているので、Twitterのリストに属するすべてのユーザーを繰り返すことができます。ここでは非常に単純なロジックです。このAPIリクエストから始めます。
https://api.twitter.com/1/lists/members.json?slug=all-fox-news&owner_screen_name=foxnews&cursor=-1
次に、forループを使用して、カーソル= -1を、解析されたJSONのnext_cursor_strに変更します。ただし、next_cursor_strを文字列として保存するのに苦労しています。誰かがこれを経験したことがありますか?以下は私のコードで、正常に動作しますが、カーソルループはありません。
import urllib2
import json
import csv
from time import sleep
outfile_path='Out.csv'
writer = csv.writer(open(outfile_path, 'w'))
headers = ['users']
writer.writerow(headers)
url = urllib2.Request('https://api.twitter.com/1/lists/members.json?slug=all-fox-news&owner_screen_name=foxnews&cursor=-1')
parsed_json = json.load(urllib2.urlopen(url))
print parsed_json
for tweet in parsed_json['users']:
row = []
row.append(str(tweet['screen_name'].encode('utf-8')))
writer.writerow(row)
sleep(5)
以下の答えによると、parsed_json["next_cursor_str"]はまさに私が必要としているものです。ここではwhileループが適切だと思いましたが、それでも0で終了できません。
n = parsed_json["next_cursor_str"]
int(n)
while n is not 0:
url = urllib2.Request('https://api.twitter.com/1/lists/members.json?slug=all-fox-news&owner_screen_name=foxnews&cursor=' + str(n))
parsed_json = json.load(urllib2.urlopen(url))
print parsed_json
for tweet in parsed_json['users']:
row = []
row.append(str(tweet['screen_name'].encode('utf-8')))
writer.writerow(row)
n = parsed_json["next_cursor_str"]