Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python JSON和Twitter API的问题_Python_Json_Twitter - Fatal编程技术网

Python JSON和Twitter API的问题

Python JSON和Twitter API的问题,python,json,twitter,Python,Json,Twitter,因此,我在尝试从我的提要请求状态时遇到了这个问题,错误非常模糊,我无法找出我做错了什么。任何帮助都将不胜感激 My Code: with open("Output.txt") as input: lines = [line for line in input if line.strip()] with open("Output.txt", "w") as output: for items in api.request('statuses/home_timeline', {'coun

因此,我在尝试从我的提要请求状态时遇到了这个问题,错误非常模糊,我无法找出我做错了什么。任何帮助都将不胜感激

My Code:

with open("Output.txt") as input:
lines = [line for line in input if line.strip()]

with open("Output.txt", "w") as output:
    for items in api.request('statuses/home_timeline', {'count': '200'}):
        x = ((items['text'] if 'text' in items else items).encode('ascii', 'ignore'))
        current_id = id(x)
        print(current_id)
        print(x.decode('ascii', 'ignore'))
        output.write((x.decode('ascii', 'ignore')) + '\n')
    for items in api.request('statuses/home_timeline', {'count': '200'}, {'max_id': str(current_id)}):
        x = ((items['text'] if 'text' in items else items).encode('ascii', 'ignore'))
        current_id = id(x)
        print(current_id)
        print(x.decode('ascii', 'ignore'))
        output.write((x.decode('ascii', 'ignore')) + '\n')




The Error Code returned:

Traceback (most recent call last):
  File "C:/Users/Brandon/PycharmProjects/untitled/automated_timeline_collector.py", line 29, in <module>
    for items in api.request('statuses/home_timeline', {'count': '200'}, {'max_id': str(current_id)}):
  File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 140, in __iter__
    for item in self.get_iterator():
  File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 137, in get_iterator
    return RestIterator(self.response)
  File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 165, in __init__
    resp = response.json()
  File "C:\Python27\lib\site-packages\requests\models.py", line 756, in json
    return json.loads(self.content.decode(encoding), **kwargs)
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Process finished with exit code 1
程序通过了前200个状态没有问题,但是关于我使用当前id让代码从它停止的地方开始的方式有些不太正确。感谢您的帮助和反馈。

更改此选项:

for items in api.request('statuses/home_timeline', {'count': '200'}):
为此:

for items in api.request('statuses/home_timeline', {'count': '200'}).get_iterator():
无法解码任何JSON对象 数据中存在JSON无法解码或编码的非法字符; 有一点但非常重要的建议:当我发现您使用输入作为变量时,不要使用一些合理的名称作为变量,虽然不是很确定,但我在下面键入了:
因此,如果您得到的不是JSON,那么它到底是什么?捕获异常并查看它是否有更多细节。点击一些不好的页面,捕获异常并继续可能是正常的。