我正在尝试创建一个简单的Twitter Bot,如果他们的推文包含某个标签,则转发用户
所以对于我的搜索网址,我有以下内容:
http://search.twitter.com/search.json?q=address&count=1
但每当我运行我的程序时,我只收到1条推文及其信息。我很困惑为什么我只得到1条推文而不是10条。即使我更改了“count”参数的值,我也会得到1条推文。
如果我更改搜索网址以将“hashtags”替换为“q”,我会收到一堆错误:
http://search.twitter.com/search.json?hashtags=151milford&count=10
上面一行给出了以下错误
File "C:\Users\Documents\pythonbot.py", line 16, in <module>
o = urllib2.urlopen(url) #open the url
File "C:\PYTHON27\LIB\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "C:\PYTHON27\LIB\urllib2.py", line 406, in open
response = meth(req, response)
File "C:\PYTHON27\LIB\urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "C:\PYTHON27\LIB\urllib2.py", line 444, in error
return self._call_chain(*args)
File "C:\PYTHON27\LIB\urllib2.py", line 378, in _call_chain
result = func(*args)
File "C:\PYTHON27\LIB\urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden
我仍然在尝试学习API,所以任何提示都会很棒
答案 0 :(得分:0)
您确定有更多推文与该查询相关吗?
如果您使用的话,请在浏览器中使用该网址:
http://search.twitter.com/search.json?q=trending&count=10
你会得到10个结果。
Twitter的API只会为您提供相对较新的推文,因此如果最近没有与您的查询匹配的推文,您将什么也得不到。
在这里https://dev.twitter.com/docs/api/1.1查看支持哪些参数。
您获得的错误是由于没有“hashtags”参数。
答案 1 :(得分:0)
您使用的参数计数不正确。查看documentation again。
查看此网址,该网址会返回5个项目:
https://search.twitter.com/search.json?q=stackoverflow&rpp=5
您可以使用参数rpp
来控制结果数每页,使用参数page
来控制页面偏移量
另请转到较新的v1.1 API。你会在@pcalcao post找到这个链接。
答案 2 :(得分:0)
我想我找到了为什么我的搜索没有找到所有内容。显然Twitter没有为他们的所有推文编制索引,所以这就是为什么我没有在我的搜索结果中获得所有内容。