-Hello- Rahul
Насколько я понимаю, вы хотите получать геоданные из искомых твитов, а не фильтровать поиск по геокодированию.
Вот пример кода с соответствующими полямиВы заинтересованы. Они могут предоставляться или не предоставляться в зависимости от настроек конфиденциальности твитеров.
Обратите внимание, что в API поиска нет параметра "с":
https://tweepy.readthedocs.io/en/latest/api.html#help-methods
https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets
Стандартный поиск в твиттер-API возвращается назад 7дней.Премиум и API для предприятий имеют 30-дневный поиск, а также поиск в полном архиве, но вы заплатите $$$.
К сожалению, у tweepy до сих пор не документированы их модели:
https://github.com/tweepy/tweepy/issues/720
Так что, если вы хотите посмотреть на объект твита, вы можете использовать пакет pprint и запустить:
pprint(tweet.__dict__)
Я заметил одно отличие: поле "текст" в JSON стало "full_text"в объекте.
Там также есть информация об оригинальном твите, если тот, который вы нашли, был твитом с цитатой, имеет ту же информацию, что и я.
В любом случае, вот код,Я добавил максимальное количество твитов для циклического прохождения курсора во время тестирования, чтобы не нарушать какие-либо ограничения API.
Дайте мне знать, если вам нужен код CSV, но похоже, что вы уже можете справиться с этим.
import tweepy
# API credentials here
consumer_key = 'your-info'
consumer_secret = 'your-info'
access_token = 'your-info'
access_token_secret = 'your-info'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True,wait_on_rate_limit_notify=True)
searchString = "iPhone"
cursor = tweepy.Cursor(api.search, q=searchString, count=20, lang="en", tweet_mode='extended')
maxCount = 1
count = 0
for tweet in cursor.items():
print()
print("Tweet Information")
print("================================")
print("Text: ", tweet.full_text)
print("Geo: ", tweet.geo)
print("Coordinates: ", tweet.coordinates)
print("Place: ", tweet.place)
print()
print("User Information")
print("================================")
print("Location: ", tweet.user.location)
print("Geo Enabled? ", tweet.user.geo_enabled)
count = count + 1
if count == maxCount:
break;
Будет выводить что-то вроде этого:
Tweet Information
================================
Text: NowPlaying : Hashfinger - Leaving
https://derp.com
#iPhone free app https://derp.com
#peripouwebradio
Geo: None
Coordinates: None
Place: None
User Information
================================
Location: Greece
Geo Enabled? True