"提取多个用户详细信息时出现Twitter API错误"
<?xml version="1.0" encoding="UTF-8"?> <过程version = " 7.6.001”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
< /操作符>
<列出关键= " filters_list " >
< / >列表
< /操作符>
< /操作符>
<过程扩展= " true " >
< /操作符>
> < /过程
< /操作符>
> < /过程
< /操作符>
> < /过程
我在RapidMiner中建立了一个实验,做了以下事情:
1)使用“搜索Twitter”,它搜索Twitter的关键字/查询
2)使用“过滤关键字”,它通过大于1的转发数过滤结果
3)使用“选择属性”,它只选择属性“From-User”
4)使用嵌入“Get Twitter用户详细信息”的“循环值”,我提取了上述(3)中所有用户的用户详细信息
5)使用'Append'工具,我将所有用户详细信息附加到1中
在运行实验时,它在“获取Twitter用户详细信息”工具中给出了“Twitter API错误”的错误。
不知道如何修复它,任何帮助将不胜感激。
附实验的XML代码:
标记:
0
最佳答案
-
Edin_Klapic 主持人、员工、RMResearcher、会员职位:299RM数据科学家
嗨@m_oke,
日志文件中的下面一行解释了这个问题:
原因:服务器返回的HTTP响应码:400https://api.twitter.com/1.1/users/show.json?screen_name=RebeccaLopez&include_entities = true
带参数名的“Get Twitter User Details”操作符搜索用户的Screen name。
就是带@的那个。这些没有空包弹。如果你能得到这些名字,你就可以使用它们。
否则,您可以使用“获取Twitter用户详细信息”中的参数id。id是一个数字,也可以从操作员搜索Twitter(属性:from - user - id)中获得。
可以找到一个示例流程在这个社区帖子。
最好的问候,
艾丁
2
答案
嗨@m_oke,
你能提供一下文件吗rapidminer-studio.log它位于目录/中。RapidMiner /
谢谢,
艾丁
嗨@Edin_Klapic
请看下面的日志:
2017年11月13日10:48:44 AM com.rapidminer.tools.ResultService init
信息:没有给出结果文件的文件名,使用标准输出记录结果!
2017年11月13日10:48:44 AM com.rapidminer.Process run
信息:进程启动
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread运行
严重:进程失败:连接到Twitter API时出错。
com.rapidminer.operator.UserError:连接到Twitter API时出错。
com.rapidminer.operator.web.services.twitter.GetTwitterUserDetailsOperator.createExampleSet (GetTwitterUserDetailsOperator.java: 218)
在com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 49)
com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 33)
com.rapidminer.operator.io.AbstractReader.doWork (AbstractReader.java: 126)
com.rapidminer.operator.Operator.execute (Operator.java: 1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute (SimpleUnitExecutor.java: 77)
在com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 812)
在com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 807)
在java.security.AccessController。doPrivileged(本地方法)
com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 807)
com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.doIteration (AbstractLoopOperator.java: 304)
在com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator 1.美元调用(AbstractLoopOperator.java: 191)
在com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator 1.美元调用(AbstractLoopOperator.java: 182)
com.rapidminer.extension.concurrency.execution.BackgroundExecutionService ExecutionCallable.call美元(BackgroundExecutionService.java: 357)
java.util.concurrent.ForkJoinTask AdaptedCallable.exec美元(ForkJoinTask.java: 1424)
java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java: 289)
java.util.concurrent.ForkJoinPool WorkQueue.runTask美元(ForkJoinPool.java: 1056)
java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java: 1692)
java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java: 157)
原因:服务器返回的HTTP响应码:400https://api.twitter.com/1.1/users/show.json?screen_name=RebeccaLopez&include_entities = true
有关的讨论可在互联网上找到:
http://www.google.co.jp/search?q=381aea58或
http://www.google.co.jp/search?q=3393bbb1
TwitterException{exceptionCode=[381aea58-3393bbb1 720b1cc8-3ee3b645 720b1cc8-3ee3b645], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=4.0.1}
twitter4j.HttpClientImpl.handleRequest (HttpClientImpl.java: 179)
在twitter4j.HttpClientBase.request (HttpClientBase.java: 53)
twitter4j.HttpClientBase.get (HttpClientBase.java: 71)
twitter4j.TwitterImpl.get (TwitterImpl.java: 1950)
twitter4j.TwitterImpl.showUser (TwitterImpl.java: 874)
com.rapidminer.operator.web.services.twitter.GetTwitterUserDetailsOperator.createExampleSet (GetTwitterUserDetailsOperator.java: 168)
…18日更
java.io.IOException: Server return HTTP response code: 400 for URL:https://api.twitter.com/1.1/users/show.json?screen_name=RebeccaLopez&include_entities = true
在sun.reflect.GeneratedConstructorAccessor328。newInstance(未知源)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java: 45)
java.lang.reflect.Constructor.newInstance (Constructor.java: 423)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1926 10.美元)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1921 10.美元)
在java.security.AccessController。doPrivileged(本地方法)
在sun.net上。www.protocol.http.HttpURLConnection.getChainedException (HttpURLConnection.java: 1920)
在sun.net上。www.protocol.http.HttpURLConnection.getInputStream0 (HttpURLConnection.java: 1490)
在sun.net上。www.protocol.http.HttpURLConnection.access 200美元(HttpURLConnection.java: 91)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1466 9.美元)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1464 9.美元)
在java.security.AccessController。doPrivileged(本地方法)
java.security.AccessController.doPrivilegedWithCombiner (AccessController.java: 782)
在sun.net上。www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java: 1463)
在sun.net上。www.protocol.https.HttpsURLConnectionImpl.getInputStream (HttpsURLConnectionImpl.java: 254)
在twitter4j.HttpResponseImpl。< init > (HttpResponseImpl.java: 50)
twitter4j.HttpClientImpl.handleRequest (HttpClientImpl.java: 143)
…23日更
java.io.IOException: Server return HTTP response code: 400 for URL:https://api.twitter.com/1.1/users/show.json?screen_name=RebeccaLopez&include_entities = true
在sun.net上。www.protocol.http.HttpURLConnection.getInputStream0 (HttpURLConnection.java: 1876)
在sun.net上。www.protocol.http.HttpURLConnection.access 200美元(HttpURLConnection.java: 91)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1466 9.美元)
在sun.net上。www.protocol.http.HttpURLConnection运行(HttpURLConnection.java: 1464 9.美元)
在java.security.AccessController。doPrivileged(本地方法)
java.security.AccessController.doPrivilegedWithCombiner (AccessController.java: 782)
在sun.net上。www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java: 1463)
java.net.HttpURLConnection.getResponseCode (HttpURLConnection.java: 480)
在sun.net上。www.protocol.https.HttpsURLConnectionImpl.getResponseCode (HttpsURLConnectionImpl.java: 338)
在twitter4j.HttpResponseImpl。< init > (HttpResponseImpl.java: 35)
…24日更
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:在这里:
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:Process[1] (Process)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
子进程“主进程”
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:+-搜索Twitter[1](搜索Twitter)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
SEVERE: +- Filter Examples[1] (Filter Examples)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:+-选择属性[1](选择属性)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
SEVERE: ==> +- Loop Values (2)[1] (Loop Values)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
子进程“LoopValues”
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:| +-获取Twitter用户详细信息(2)[4](获取Twitter用户详细信息)
2017年11月13日10:48:45 AM com.rapidminer.gui.ProcessThread logProcessTreeList
严重:+-追加[0](追加)
2017年11月13日10:48:46 AM com.rapidminer.operator.Operator停止
INFO: Loop Values(2):进程停止。
2017年11月13日10:48:46 AM com.rapidminer.operator.Operator停止
INFO: Loop Values(2):进程停止。