Tweepy REST API поисковый запрос - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь использовать Twitter REST API для поиска определенных твитов. Я хочу получить только те твиты, для которых включено местоположение, в лондонском Сити и с включенными координатами. Тем не менее, я не уверен, как на самом деле написать это в запросе.

На данный момент код, который я ищу, ищет одно ключевое слово, которое вводится в текстовое поле, и возвращает твиты, содержащие данное слово. Например:

searchW = "'"+keyword+"'"
maxTweets = 500  
tweetsPerQry = 100

tweets = api.search(q=searchW, count=tweetsPerQry)

Можно ли как-нибудь расширить этот запрос, чтобы включить фильтры, о которых я упоминал? Я просмотрел документацию, но не уверен, как ее структурировать.

1 Ответ

0 голосов
/ 18 января 2019

Прежде всего, вам нужно узнать широту и долготу центра Лондона. Вы можете получить его из openstreetmap или googlemap (что-то вроде 51.5128, -0.1171).

Ссылаясь на документацию по https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html, вы должны использовать параметр geocode и добавить радиус в милях или километрах.

Таким образом, чтобы получить твиты с вашим ключевым словом и геолокацией в Лондоне в радиусе 2 км:

searchW = "'"+keyword+"'"
maxTweets = 500
tweetsPerQry = 100

tweets = api.search(q=searchW, count=tweetsPerQry, geocode="51.5128,-0.1171,2km")
for tweet in tweets:
    if tweet.coordinates is not None:
        lon = tweet.coordinates['coordinates'][0]
        lat = tweet.coordinates['coordinates'][1]
        print('lat', lat, 'lon', lon)
    print(tweet.user.id_str, tweet.user.screen_name, tweet.text, tweet.coordinates)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...