2017-01-24 2 views
1

특정 위치로 트위터를 검색하려고합니다. 내 반지름 밖의 위치 정보 태그가 지정된 트윗을 제외하도록 관리했지만, null로 설정된 지형지 물을 사용하여 대부분의 트윗을 가져 왔습니다. 말했듯이짹짹만 특정 위치로 제한하는 방법

var Twitter = new LinqToTwitter.TwitterContext(auth); 

var GeoCode = new LinqToTwitter.Geo() 
{ 
    Latitude = 37.68, 
    Longitude = -97.33, 
    Accuracy = "20mi" 
}; 

var geostring = $"{GeoCode.Latitude},{GeoCode.Longitude},{GeoCode.Accuracy}"; 

var searchResponse = 
    Twitter.Search 
     .Where(x => x.Type == SearchType.Search) 
     .Where(x => x.Query == "Trump") //I know people are tweeting this right now... 
     .Where(x => x.GeoCode == geostring) 
     .FirstOrDefault(); 

지금,이 특별히 내 위치 & 반경의 외부로 태그 트윗을 제외하지만, 나는 또한 위치 데이터 세트가없는 트윗을 제외하고 싶습니다. 내가 여기서 잘못된 것을하고 있습니까? 아니면 불필요한 데이터를 가져 와서 필터를 적용해야할까요?

답변

1

당신이 좌표를 많이보고있는 이유를 꺼짐. Twitter Search API에는 빈 위치를 제외 할 수있는 옵션이 없습니다. BTW

 var searchResponse = 
      await 
      Twitter.Search 
       .Where(x => x.Type == SearchType.Search) 
       .Where(x => x.Query == "Trump") //I know people are tweeting this right now... 
       .Where(x => x.GeoCode == geostring) 
       .FirstOrDefaultAsync(); 

     var withGeoCode = 
      (from resp in searchResponse.Statuses 
      where resp.Coordinates.Latitude != 0 && resp.Coordinates.Longitude != 0 
      select resp) 
      .ToList(); 

가, 트위터에 LINQ 내가 async 키워드를 추가 한 이유입니다, async 것을 알 : 당신이 생각 할 수있는 것은 객체가이 같은 결과를 필터링하는 쿼리에 LINQ를 쿼리를 수행하고 할 수있다 FirstOrDefaultAsync 연산자를 사용하십시오. 그렇지 않으면 경쟁 조건으로 인해 오류가 발생하거나 결과를받지 못할 가능성이 있습니다. 때로는 비동기 연산자가 여전히 작동하는 것을보고 놀랐습니다. 짹짹이 지리적 태그가 지정되지 않은 경우 CoordinatesLatitude/Longitude 속성은 위 코드에서 볼 수있는 0이됩니다.

1

나는 당신이 그 방법으로 알의 결합하기로 생각하지 않는, 시도 : 많은 사람들이 회전하기 때문에 제로가 있습니다

var searchResponse = 
    Twitter.Search 
      .Where(x => x.Type == SearchType.Search && 
         x.Query == "Trump" && 
         x.GeoCode == geostring) 
      .FirstOrDefault(); 
1

특정 장소 ID를 검색하면 해당 장소 또는 좁은 장소의 위치 정보 태그가있는 짹짹 만 표시됩니다. 예 : 샌프란시스코 (5a110d312052166f), 캘리포니아 또는 미국을 검색하면 샌프란시스코의 트윗이 반환됩니다. 샌프란시스코 지역에 대한 트윗을 얻을 수도 있습니다.

n.b. 대부분의 트윗은 위치 정보 태그가 지정되지 않았기 때문에 이것은 적은 수의 트윗 일 것입니다.

장소 검색 : ID 예 : 장소 : 402e618bff0d9dc1

https://api.twitter.com/1.1/search/tweets.json?q=place%3A5a110d312052166f

당신은 웹 사이트

https://twitter.com/search?q=place%3A5a110d312052166f&src=typd

에 자신을 테스트 할 수 있습니다