Я использую библиотеку twitter4j для доступа к общедоступному потоку твиттера.

Я использую библиотеку twitter4j для доступа к общедоступному потоку Twitter. Я пытаюсь сделать проект с использованием твитов с геотегами, и мне нужно собрать их большое количество для тестирования.

Прямо сейчас я получаю нефильтрованный поток из твиттера и сохраняю твиты только с геотегами. Это медленно, потому что большинство твитов VAST не имеют геотегов. Я хочу, чтобы твиттер-поток присылал мне только твиты с геотегами.

Я пробовал использовать метод, упомянутый в [этот вопрос] [1], где вы фильтруете ограничивающую рамку размером 360 * на 180 *, но это не работает для меня. Я не получаю никаких ошибок при использовании этого фильтра, но я по-прежнему получаю 99% твитов без геотегов. Вот как я это делаю:

    DefaultHttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
            new DefaultHttpMethodRetryHandler());
    HttpGet httpget = new HttpGet("https://developers.facebook.com/docs/reference/api/examples/");
    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    if (entity != null) {
        entity.consumeContent();
    }
    List<Cookie> cookies = httpclient.getCookieStore().getCookies();
    HttpPost httpost = new HttpPost(
    "https://www.facebook.com/login.php?login_attempt=1");
    List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    nvps.add(new BasicNameValuePair("email", "xxxxxxxxxxxxxx"));
    nvps.add(new BasicNameValuePair("pass", "ssssssss"));
    httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
    response = httpclient.execute(httpost);
    entity = response.getEntity();
    if (entity != null) {
        entity.consumeContent();
    }
    CookieStore cookiestrore = httpclient.getCookieStore();
    //cookies = httpclient.getCookieStore().getCookies();
    //httpclient.getConnectionManager().shutdown();
    return cookiestrore;

Любое это не получает никаких ошибок, но я не получаю никаких результатов.


person Rashmi Rai    schedule 14.06.2013    source источник


Ответы (1)


Когда вы отслеживаете ключевое слово, это отдельная работа от отслеживания местоположений. Это логические ИЛИ

person Orbita    schedule 16.06.2013
comment
как передать запрос, я использую twitter4j. - person Rashmi Rai; 16.06.2013
comment
Может быть, вы можете просто отфильтровать по ключевому слову FilterQuery fq = new FilterQuery(); fq.track(words); и после этого принять только те, которые имеют геотег if (status.getUser().isGeoEnabled()) { ... } - person Orbita; 16.06.2013