根据用户的位置查找Twitter用户

时间:2016-05-04 02:56:44

标签: python rest twitter twitter-oauth

我需要根据用户的位置找到Twitter用户。理想情况下应该是他们的当前位置,但如果它只是他们原来的位置,那也可以。例如,如果一个人来自巴西,但今天他们在德国,我希望能够找到他们作为“在德国”的Twitter用户。

此外,如果可能的话,我希望能够了解他们当前的城市,而不仅仅是国家。

我可以通过 Twitter API 来实现吗?怎么样?

我不想使用任何直接提供此服务的第三方服务,但是,使用第三方服务,我可以从中间接找到他们当前的位置是可以的。例如,如果在Facebook上,他们最近发布了一张照片“我已经在德国,yeaahhhh” - 那种事情。当然,我更喜欢Twitter API。

1 个答案:

答案 0 :(得分:1)

您基本上寻找的是地理标记信息。但是,您希望根据用户的位置查找用户。你得到的答案并不容易,是的,#34;是"或者"没有",它实际上是基于你想要完成的事情。但是,既然您要询问Twitter API,那么Twitter API 不能做您想做的事情,但有很多方法。

您的问题主要集中在如何在给定位置查找用户。对于下面的示例,让我们说位置是"柏林,DE"

目前,根据您的要求,Twitter API有两种方法可以捕获基于位置的信息。

<强> User Search Method (users/search):

根据Twitter的文档,它声明此功能将根据您提供的任何查询返回用户。引用:

  

[ users / search ]为公共用户提供简单,基于相关性的搜索界面   Twitter上的帐户。尝试按主题兴趣查询,全名,   公司名称,位置或其他标准。完全匹配搜索是   不支持。

但是,位置信息根据他们的推文。相反,它基于他们的个人资料位置信息(用户在首次创建他们的Twitter个人资料时输入的信息)。

因此,使用 Berlin,DE 示例:Jason住在美国加利福尼亚州(他的个人资料反映了他来自加利福尼亚州圣何塞的事实),但他最近访问了柏林,积极发推。包括用他的位置标记他的推文和所有。现在,如果您使用查询 Berlin,DE 进行用户/搜索,您在结果中找不到Jason,因为他的个人资料位置设置为加利福尼亚州圣何塞。 / p>

<强> Tweets Search Method (search/tweets):

根据Twitter的文档,此方法将根据您提供的任何查询(包括位置)向您返回推文(最多450条带有APP授权的推文)。使用geocode查询,您可以在给定位置找到所需的信息。引用:

  

返回位于给定半径内的用户的推文   经/纬度。该位置优先取自   地理标记API,但将回归到他们的Twitter个人资料。该   参数值由“纬度,经度,半径”指定,其中   半径单位必须指定为“mi”(英里)或“km”   (公里)。请注意,您不能通过API使用near运算符   地理编码任意位置;但是你可以使用这个地理编码   用于直接搜索地理编码的参数。最多1,000个   使用半径时将考虑不同的“子区域”   改性剂。

鉴于 Berlin,DE 示例,如果您使用此方法,您实际上会找到Jason的推文,因为他们已经被标记为柏林。此方法返回您想要的个人资料/用户信息。但是,您可以利用此方法获取用户信息。

从本质上讲,您可以解析所有推文并收集用户ID,这正是您想要的。这是目前可通过API查看和访问的最佳解决方案。