Это сводит меня с ума. Как вы можете видеть ниже, я использую простой цикл while, чтобы выполнить пару tweepy-запросов и добавить их в фрейм данных. По какой-то причине, однако, вытащив первый набор из 100 твитов, он просто повторяет этот набор вместо того, чтобы выполнять новый поиск. Любые советы будут очень признательны.Tweepy Search w/While Loop
import sys
import csv
import pandas as pd
import tweepy
from tweepy import OAuthHandler
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
num_results = 200
result_count = 0
last_id = None
df = pd.DataFrame(columns=['Name', 'Location', 'Followers', 'Text', 'Coorinates'])
while result_count < num_results:
result = api.search(q='',count=100, geocode= "38.996918,-104.995826,190mi", since_id = last_id)
for tweet in result:
user = tweet.user
last_id = tweet.id_str
name = user.name
friends = user.friends_count
followers = user.followers_count
text = tweet.text.encode('utf-8')
location = user.location
coordinates = tweet.coordinates
df.loc[result_count] = pd.Series({'Name':name, 'Location':location, 'Followers':followers, 'Text':text, 'Coordinates':coordinates})
print(text)
result_count += 1
# Save to Excel
print("Writing all tables to Excel...")
df.to_csv('out.csv')
print("Excel Export Complete.")
Я попытался исключить параметр «count» из моего поискового запроса, но это вернет только 15 результатов. Мое понимание из tweepy docs заключается в том, что, включив параметр «count», я могу принять до 100, а затем сделать 15 запросов для компиляции большего количества результатов. Я считаю, что оба эти ограничения соблюдаются API Twitter, да? Я также думал, что параметр «from_id» был там, чтобы не допустить, чтобы я снова и снова возвращал одни и те же 100 лучших результатов? Я рассматриваю возможность перехода к потоку, чтобы вывести результаты, но моя цель - собрать «случайный» выбор твитов, и это приведет к некоторому смещению времени. – bengen343
Извините за поздний ответ, кстати, где вы прочитали около 15 запросов с параметром count? Возможно, вы можете попытаться удалить параметр from_id, поскольку возвращает только статусы с идентификатором, большим (более поздним, чем) указанным ID. – Giordano