2016-09-20 5 views
-1

Twitter4J을 사용하여 트위터에서 사용자 위치 정보를 얻고 싶습니다.Twitter4j에서 사용자 Geolocation을 얻는 방법은 무엇입니까?

나는 tweet.getUser.getLocation()을 사용합니다. 그러나 그것은 저에게 잘못된 geolocation을 제공합니다.

// create ConfigurationBuilder class variables "cb" 

    // Create Twitter Factory 
    TwitterFactory twitterFactory = new TwitterFactory(cb.build()); 
    Twitter twitter = twitterFactory.getInstance(); 
    try { 
     Query query = new Query("범죄"); 
     QueryResult result; 
     int twittNum = 1; 
     do { 
      result = twitter.search(query); 
      List<Status> tweets = result.getTweets(); 
      for (Status tweet : tweets) { 
       System.out.println("==========================================================================================================="); 
       System.out.println("["+twittNum+"] 번째 트윗"); 
       System.out.println("유저이름1:"+tweet.getUser().getName()); 
       System.out.println("트윗장소:"+tweet.getUser().getLocation()); 
       System.out.println("트윗언어:"+tweet.getUser().getLang()); 
       System.out.println("트윗시간?:"+tweet.getUser().getCreatedAt()); 
       System.out.println("==========================================================================================================="); 
       twittNum++; 
      } 
     } while ((query = result.nextQuery()) != null); 
     System.exit(0); 
    } catch (TwitterException te) { 
     te.printStackTrace(); 
     System.out.println("Failed to search tweets: " + te.getMessage()); 
     System.exit(-1); 
    } 
} 
+0

반환 된 위치가 '잘못되었습니다'라고 했으므로 어떤 위치를 예상 했습니까? – Xiaoerge

+0

나는 실제 위치 양식 사용자를 원한다. 위도 또는 경도 같음 – Johnmark

+0

사용자의 위치를 ​​원하면 다른 접근 방식을 사용해야합니다. Twitter4j의 GetLocation은'user'가 아닌'tweet'의 위치를 ​​반환합니다. 'tweet' 위치가'user' 위치가 아닙니다. 그것은 틀리지 않습니다. 원하는 것을 원하지 않는 것뿐입니다. – Xiaoerge

답변

1

잘못된 위치는 무엇입니까?

Twitter4j은 트위터 API의 자바 단지 구현, 그리고 documentation에서 :

위치 : Null 허용. 이 계정의 프로필에 대한 사용자 정의 위치 반드시 위치 나 파싱 할 필요는 없습니다. 이 필드는 검색 서비스에서 가끔씩 해석됩니다.

tweet.getUser.getLocation() 당신에게 사용자의 위치를 ​​얻을 것이다 그것은 (일부 트윗에 같이) 위치 정보 아니라는 것을 의미한다. 사용자로부터 실제 위치를 가져올 수 없으며 위치 필드는 사용자의 입력 (string)이므로 아무것도 될 수 없습니다. 당신의 마음, 다리 또는 한국 또는 세계 같은 특정하지 뭔가 아래 같은 물건을받을 경우 그 잘못을 의미하지 않습니다, 그것은 사람들이 쓴 그냥 뭐.

+0

공인 IP 주소 또는 그런 식으로 사용자의 위치를 ​​얻는 다른 방법이 있습니까? Spatial 데이터로 변환 할 수있는 모든 것. – Johnmark

+0

Twitter에서 방법이 없습니다. 적어도 칠레에서 약 50 %의 사용자가 칠레를 위치 필드에 배치하고 숫자가 적을수록 더 정확한 위치를 지정합니다. 해당 필드에서 정보를 추출하여 직접 작업해야합니다. – FeanDoe