Twitter Stream Filter по местоположению - PullRequest
3 голосов
/ 29 августа 2011

Возможно ли для Twitter Stream API фильтровать твиты по полю местоположения?Как видно из примера записи JSON ниже, есть поле «location»: «philippines» - значение.Теперь я хотел отфильтровать твиты, приходящие из этого места через поле местоположения.Но не поймите меня неправильно.Я не говорю о фильтре GEO-tag.

Возможно ли это?

{"geo":null,"in_reply_to_screen_name":null,"truncated":false,"text":"RT @BreakingNewsPH: Typhoon hits Taiwan after pummeling Philippines: Typhoon Nanmadol slammed into\u2026 http:\/\/t.co\/rF3jbVU #breakingnews","in_reply_to_user_id_str":null,"contributors":null,"retweeted":false,"retweet_count":1,"entities":{"hashtags":[{"text":"breakingnews","indices":[120,133]}],"urls":[{"indices":[100,119],"display_url":"goo.gl\/fb\/JVdpj","expanded_url":"http:\/\/goo.gl\/fb\/JVdpj","url":"http:\/\/t.co\/rF3jbVU"}],"user_mentions":[{"indices":[3,18],"name":"Breaking News PH","screen_name":"BreakingNewsPH","id":190144401,"id_str":"190144401"}]},"coordinates":null,"retweeted_status":{"geo":null,"in_reply_to_screen_name":null,"truncated":false,"text":"Typhoon hits Taiwan after pummeling Philippines: Typhoon Nanmadol slammed into\u2026 http:\/\/t.co\/rF3jbVU #breakingnews","in_reply_to_user_id_str":null,"contributors":null,"retweeted":false,"retweet_count":1,"entities":{"hashtags":[{"text":"breakingnews","indices":[100,113]}],"urls":[{"indices":[80,99],"display_url":"goo.gl\/fb\/JVdpj","expanded_url":"http:\/\/goo.gl\/fb\/JVdpj","url":"http:\/\/t.co\/rF3jbVU"}],"user_mentions":[]},"coordinates":null,"place":null,"source":"\u003Ca href=\"http:\/\/www.google.com\/support\/youtube\/bin\/answer.py?hl=en&answer=164577\" rel=\"nofollow\"\u003EGoogle\u003C\/a\u003E","created_at":"Mon Aug 29 04:16:31 +0000 2011","in_reply_to_user_id":null,"user":{"listed_count":19,"favourites_count":0,"profile_sidebar_fill_color":"252429","location":"Philippines","profile_background_tile":false,"lang":"en","profile_link_color":"2FC2EF","description":"Follow us to receive round-the-clock Philippine Breaking News updates directly on your Twitter account!","default_profile_image":false,"default_profile":false,"verified":false,"profile_sidebar_border_color":"181A1E","notifications":null,"time_zone":"Hong Kong","created_at":"Mon Sep 13 05:14:02 +0000 2010","followers_count":804,"following":null,"profile_use_background_image":true,"profile_background_image_url_https":"https:\/\/si0.twimg.com\/images\/themes\/theme9\/bg.gif","profile_image_url":"http:\/\/a3.twimg.com\/profile_images\/1130204413\/breakingnewsph-logo-small_normal.png","show_all_inline_media":false,"follow_request_sent":null,"geo_enabled":false,"profile_background_color":"1A1B1F","protected":false,"contributors_enabled":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/images\/themes\/theme9\/bg.gif","url":"http:\/\/www.breakingnews.ph","screen_name":"BreakingNewsPH","name":"Breaking News PH","friends_count":210,"profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1130204413\/breakingnewsph-logo-small_normal.png","id":190144401,"id_str":"190144401","is_translator":false,"statuses_count":51981,"utc_offset":28800,"profile_text_color":"666666"},"in_reply_to_status_id":null,"favorited":false,"id":108030240370073602,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"id_str":"108030240370073602"},"place":null,"source":"web","created_at":"Mon Aug 29 04:23:44 +0000 2011","in_reply_to_user_id":null,"user":{"listed_count":0,"favourites_count":1,"profile_sidebar_fill_color":"FFF7CC","location":"cabuyao,Laguna PHILIPINES","profile_background_tile":false,"lang":"en","profile_link_color":"FF0000","description":"Prudence keeps life safe, but it does not often make it happy.","default_profile_image":false,"default_profile":false,"verified":false,"profile_sidebar_border_color":"F2E195","notifications":null,"time_zone":"Alaska","created_at":"Sun Nov 14 09:15:11 +0000 2010","followers_count":32,"following":null,"profile_use_background_image":true,"profile_background_image_url_https":"https:\/\/si0.twimg.com\/profile_background_images\/188170056\/Picture_276.jpg","profile_image_url":"http:\/\/a2.twimg.com\/profile_images\/1423110432\/271010_220561634650699_100000905924979_647505_1229915_n_normal.jpg","show_all_inline_media":true,"follow_request_sent":null,"geo_enabled":false,"profile_background_color":"BADFCD","protected":false,"contributors_enabled":false,"profile_background_image_url":"http:\/\/a1.twimg.com\/profile_background_images\/188170056\/Picture_276.jpg","url":null,"screen_name":"emerlyn14","name":"Emerlyn Cantalejo","friends_count":215,"profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/1423110432\/271010_220561634650699_100000905924979_647505_1229915_n_normal.jpg","id":215568114,"id_str":"215568114","is_translator":false,"statuses_count":270,"utc_offset":-32400,"profile_text_color":"0C3E53"},"in_reply_to_status_id":null,"favorited":false,"id":108032058986729472,"possibly_sensitive":false,"in_reply_to_status_id_str":null,"id_str":"108032058986729472"}

Ответы [ 2 ]

8 голосов
/ 04 ноября 2011

Проверьте потоковое API для Twitter на https://dev.twitter.com/docs/streaming-api/methods#locations

Места

Определяет набор ограничивающих рамок для отслеживания. Только твиты, которые оба созданные с помощью API Geotagging и помещены изнутри отслеживаемых ограничительная рамка будет включена в поток - местоположение пользователя поле не используется для фильтрации твитов (например, если у пользователя есть его местоположение «Сан-Франциско», но твит был создан не с помощью Geotagging API и не имеет геоэлемента, он не будет включен в поток). Ограничивающие прямоугольники указываются в виде списка запятых пары долгота / широта, причем первая пара обозначает юго-запад угол коробки. Например местоположения = -122,75,36,8, -121,75,37,8 будет отслеживать твиты из области Сан-Франциско. Многократное ограничение поля могут быть определены путем объединения пар широта / долгота, для пример: location = -122.75,36.8, -121.75,37.8, -74,40, -73,41 будет отслеживать твиты из Сан-Франциско и Нью-Йорка.

Как и в случае с параметром track, запросы подлежат отслеживанию Ограничения, описанные в разделе «Ограничение дорожек» и соответствующие роли доступа, описано в методе статусов / фильтров. И количество, и размер ограничивающие рамки ограничены. Ограничивающие рамки могут быть до 360 градусов долгота на 180 градусов, и вы можете указать до 25 ограничивающие рамки. Коробка на 360 градусов на 180 градусов покроет вся земля Более высокие уровни доступа обеспечивают дополнительные ограничивающие рамки.

Ограничительные рамки - это логические ИЛИ. Параметр location может быть объединен с параметрами дорожки, но обратите внимание, что все термины логически ORd, поэтому строка запроса track = twitter & местоположения = -122,75,36,8, -121,75,37,8 будет соответствовать любые твиты, содержащие термин Твиттер (даже не гео-твиты) ИЛИ приходящие из области Сан-Франциско.

Значения: пары долгота / широта, разделенные запятыми. Первая пара указывает юго-западный угол окна. Методы: статусы / фильтр

Пример. Создайте файл с именем «location», содержащий, кроме кавычки, фраза: «Location = -122.75,36.8, -121.75,37.8, -74,40, -73,41», затем выполните:

curl -d @locations https://stream.twitter.com/1/statuses/filter.json
-uAnyTwitterUser:Password. 

Вы получите все твиты с геотегами из Сан-Франциско и Нью-Йорка. Район Йорка.

1 голос
/ 17 декабря 2011

хорошо .. вы не можете сделать это с помощью твиттера api..twitter не фильтровать поле местоположения только geotag..если вы хотите указать местоположение фильтра, вы должны написать фильтр для фильтрации местоположения в ответе json.это действительно неэффективно, вы потеряете много твитов, потому что вы получите только 10% публичный статус:

статусы / выборка

Возвращает случайную выборку всех публичных статусов.Уровень доступа по умолчанию, «Spritzer», обеспечивает небольшую долю Firehose, примерно 1% от всех общедоступных статусов.Уровень доступа «Gardenhose» обеспечивает долю, более подходящую для интеллектуального анализа данных и исследовательских приложений, для которых большая часть должна быть статистически значимой выборкой.В настоящее время Gardenhose возвращает, примерно, 10% всех общественных статусов.Обратите внимание, что эти пропорции подлежат необъявленной корректировке в зависимости от объема трафика.

, и вы также можете прочитать:

statuses / firehose

Возвращает все публичные статусы.Firehose не является общедоступным ресурсом.Немногие приложения требуют такого уровня доступа.Творческое использование комбинации других ресурсов и различных уровней доступа может удовлетворить практически любой вариант использования приложения.

, поэтому у вас есть только 2 варианта. 1) отфильтровать всю страну с помощью фильтра местоположений или 2) получитьтолько 1% всех общедоступных статусов и отфильтруйте их, может быть, прочитайте их, чтобы помочь вам:

пока и счастливого кодирования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...