当前位置: 首页 > 知识库问答 >
问题:

如何获得位置明智的推文使用twepy流API?

赖浩荡
2023-03-14

我正试图从旧金山抓起包含费德勒的所有推特。我的locations关键字出现错误。

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
import csv
access_token = ''
access_secret = ''
consumer_key = ''
consumer_secret = ''
csvfile = open('StreamSearch.csv','a')
csvwriter = csv.writer(csvfile, delimiter = ',')


class StdOutListener(StreamListener):

    def on_data(self, data):
        print data
        return True

    def on_error(self, status):
        print status


if __name__ == '__main__':
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_secret)
    stream = Stream(auth, l)
    stream.filter(track='federer',locations = '-122.75,36.8,-121.75,37.8')
    #stream.filter(track='djokovic')

错误是

回溯(最近一次呼叫最后一次):

File "C:\EclipseWorkspaces\csse120\9sept\src\SearchTweets.py", line 35, in <module>
    stream.filter(track='federer',locations = '-122.75,36.8,-121.75,37.8')
  File "C:\Python27\lib\site-packages\tweepy\streaming.py", line 307, in filter
    raise TweepError("Wrong number of locations points, "
tweepy.error.TweepError: Wrong number of locations points, it has to be a multiple of 4

共有1个答案

师野
2023-03-14

你的代码是好的,直到流。过滤阶段。Tweepy将筛选查询作为列表,而不是单个字符串。

所以如果你想找到费德勒的一切,你会寻找

stream.Filter ( track = ['federer'])

以及您将使用的位置

stream.Filter ( locations = [-122.75,36.8,-121.75,37.8] )

请记住,位置不是字符串,不需要对它们进行引号。此外,Twitter使用JSON格式的位置是经度,纬度这是不同于典型的纬度,经度坐标由谷歌地图和其他服务。

不幸的是,当你有一个位置和跟踪过滤器时,你就无法跟踪包含费德勒的来自旧金山的推特,它会变成一个跟踪或位置查询。这意味着你会得到包含费德勒或来自旧金山的推特。我不知道有什么方法可以对各种过滤器进行搜索和查询。我不相信Twitter支持他们。你的选择是收集来自旧金山的推文,然后看看是否有人提到费德勒或费德勒的推文,然后按位置过滤。您仍然可以连接位置和轨迹,但这将是对这两者的OR查询,如下所示:

stream.Filter ( track = ['Federer'], locations = [-122.75,36.8,-121.75,37.8] )

Tweepy的留档和Twitter参数https://dev.twitter.com/streaming/overview/request-parametershttp://tweepy.readthedocs.org/en/v2.3.0/api.html?highlight=location

希望这有帮助。

 类似资料:
  • 我试图保存并加载jsPlumb流程图,但在重新创建连接时遇到问题。当我尝试加载时,它们彼此重叠。图1显示了我如何保存流程图,图2显示了如何加载流程图。 我已经看过这个主题和这个主题,并且使用和或或简单不起作用。如果我用打印它,它会显示。我不知道这是关于版本还是其他什么的,但看起来“anchor”没有“x”和“y”。我使用的是jsPlumb 1.5.5

  • 问题内容: 我在Windows上使用Python,并且希望脚本的一部分将文件从某个目录(我知道其路径)复制到桌面。 我用这个: txt文件的名称为While (具有完整路径)。 我得到错误: 有什么帮助吗? 我希望脚本可以在任何计算机上运行。 问题答案: 您可以用来获取路径。现在,它实际上是在尝试查找而不替换实际路径。 也许像这样:

  • 我一直在尝试使用andriod中的融合位置应用程序接口获取位置(lat/lon)。当wifi和gps都打开时,我的代码运行良好。如果我关闭gps,那么我不会得到任何位置更新。 我正在使用BALANCED_POWER_ACCURACY进行位置请求。我在清单中添加了Access_FINE_Location权限,并在我的build.gradle文件中使用了播放服务版本9.2.1。 我正在真实设备上进行测

  • 我试图使用Tweepy从特定位置获取推文,但当我运行代码时,会出现此错误 在我的代码中,我尝试从纽约市获取推文,其中包含纽约的位置坐标。我怎样才能从纽约一个人那里得到推特?我的猜测是使用一系列坐标,比如x,y和y,z。我该怎么做呢? 这是我的代码:

  • 问题内容: 我有一个textarea,我想知道我是用JavaScript还是光标在textarea的最后一行还是textarea的第一行。 我想到先获取第一个换行符和最后一个换行符的位置,然后再获取光标的位置。 是否可以在文本区域内获取光标位置? 您是否有更好的建议来确定我是在文本区域的第一行还是最后一行? 除非JavaScript如此简单,否则首选jQuery解决方案。 问题答案: 如果没有选择

  • 我正试图用tweepy从特定用户那里获得流行的推文。我需要twitter API中的result_type='popular'之类的东西(https://dev.twitter.com/rest/reference/get/search/tweets). 我该怎么做呢?