我需要抓取Twitter并分析推文以获取信息。我认为最好的方法是使用搜索API,但现在似乎api需要OAuth身份验证。注册成为开发人员是唯一的方法吗?还有其他选择吗?
答案 0 :(得分:14)
亚当·格林的(选择)答案不再适用,因为Twitter关闭了他们的 REST API v1.0。
如果您调用给定的示例来查询披萨:
http://search.twitter.com/search.json?q=pizza
您收到以下错误消息:(虽然在json中;)
{"errors":
[{"message": "The Twitter REST API v1 is no longer active.
Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview",
"code": 64}
]
}
You can check the API 1.1 search spec here
从1.0到1.1的另一个变化是所有1.1 API调用都需要身份验证 包括搜索。
答案 1 :(得分:4)
这里有很多错误的信息。你没有屏幕刮。您无需注册应用程序即可执行此操作。 Twitter中没有API密钥。您无需使用任何授权即可从搜索API中读取数据。 API的其余部分需要OAuth,但不需要搜索。
要使用搜索API,您只需针对以下网址发出请求: http://search.twitter.com/search.json?q=[keywords]
例如搜索披萨: http://search.twitter.com/search.json?q=pizza
您可以获得可以在任何程序中阅读的JSON数据。如果使用PHP,则可以使用cURL发出请求,使用json_decode()将结果转换为可以在foreach()循环中迭代的对象。
答案 2 :(得分:2)
如果您想分析大量推文,您应该使用Streaming API。您需要注册才能访问此内容。
您也可以使用不需要注册的Search API。但这是速度有限的。
答案 3 :(得分:1)
答案 4 :(得分:0)
它很脏*,但您可以使用PHP DOM以重复的间隔刮取Twitter的主页。
* twitters搜索API并不复杂,因此我猜您愿意使用快速入侵。