Twitter4j API位置过滤器无法正常工作

时间:2015-07-24 11:33:06

标签: java twitter twitter4j twitter-streaming-api

我正在使用Twitter4j API连接到公共消防软管。我试图获取特定于位置或关键字的推文,但它似乎不起作用。这是我的代码:

String geoInfo = "37.7833,122.4167"; //Coordinates of San Francisco
geoInfo = String.valueOf(status.getGeoLocation().getLatitude()) + "," + String.valueOf(status.getGeoLocation().getLongitude()); //Get the Lat. Long. of the tweet

FilterQuery tweetFilterQuery = new FilterQuery();
 tweetFilterQuery.locations(new double[][]{new double[]{-124.848974,24.396308},new double[]{-66.885444,49.384358}}); //USA Bounding box

我最终将此附加到我要过滤的流

我将结果附加为截图。

问题是我的推文可能来自远东,因为大部分推文似乎都是马来语。

其次,我如何设置印度坐标,更具体地说是印度的一个城市。

我还想运行一个多重过滤器,我可以将我的推文来自孟买,并在其中有一个特定的关键字。

输出:

58761 [Thread-11-infoBolt] INFO  backtype.storm.daemon.task - Emitting: infoBolt default [Kukurilingan (at Jalan Selakaso) — https://t.co/HilfQNa7GY, Kukurilingan(atJalanSelakaso)—https://tco/HilfQNa7GY, , , , c2016, https://t.co/HilfQNa7GY, 0, , 0]
58762 [Thread-27-top-words] INFO  backtype.storm.daemon.executor - Processing received message source: infoBolt:3, stream: default, id: {}, [Kukurilingan (at Jalan Selakaso) — https://t.co/HilfQNa7GY, Kukurilingan(atJalanSelakaso)—https://tco/HilfQNa7GY, , , , c2016, https://t.co/HilfQNa7GY, 0, , 0]
        TopWords    DEBUG Read Values: , , 
        TopWords    DEBUG Read Values: , , , reportSentiment: 0.3999200159968007, URL : https://t.co/HilfQNa7GY
        TopWords    DEBUG EMIT Tweet Kukurilingan (at Jalan Selakaso) — https://t.co/HilfQNa7GY, matcedEmoticon: , sentimentKey: c2016 0, reportSentiment: 0.3999200159968007
58773 [Thread-27-top-words] INFO  backtype.storm.daemon.task - Emitting: top-words default [Kukurilingan (at Jalan Selakaso) — https://t.co/HilfQNa7GY, Kukurilingan (at Jalan Selakaso) — https://t.co/HilfQNa7GY, , , , c2016, https://t.co/HilfQNa7GY, 0, , 0.3999200159968007]

1 个答案:

答案 0 :(得分:0)

首先,一次关注一个问题可能会有所帮助。我的第一个观察是,除非你没有输入一些代码,否则你在顶层做的事情没有完成任何事情。

您声明geoInfo,然后立即尝试将其替换为推文的位置。你究竟想在这里完成什么?

tweetFilterQuery唯一能做的就是在美国进行过滤,但前提是你确实如你所说的那样将这个过滤器添加到流中。

您可以按照为美国设置的方式为城市设置它,但只需更改长/拉框的角落。

您可以通过添加以下内容来创建关键字:

`tweetFilterQuery.track(new String[]{searchingPhrase});`

编辑似乎您无法同时过滤位置和关键字。获得结果后,您必须在字符串中手动搜索。