AttributeError: '模块'对象没有属性'loads'在TwitterAPI调用中(遍历推文)?
在TwitterAPI页面上运行示例代码时,我遇到了以下错误。
Traceback (most recent call last):
File "D:/Cloud/Dropbox/Coding/Python/EUR - BigData & Analytics/Workshops/Tutorial 2/twitter_query_scraper_revisited.py", line 76, in <module>
for tweet in tweet_sequence:
File "C:\Python33\lib\site-packages\TwitterAPI\TwitterAPI.py", line 116, in __iter__
for item in self.get_iterator():
File "C:\Python33\lib\site-packages\TwitterAPI\TwitterAPI.py", line 113, in get_iterator
return RestIterator(self.response)
File "C:\Python33\lib\site-packages\TwitterAPI\TwitterAPI.py", line 139, in __init__
resp = response.json()
File "C:\Python33\lib\site-packages\requests\models.py", line 741, in json
return json.loads(self.text, **kwargs)
AttributeError: 'module' object has no attribute 'loads'
我尝试过各种代码,但一直没能解决这个问题。 这是我正在运行的代码:
from TwitterAPI import TwitterAPI
api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
r = api.request('search/tweets', {'q':'pizza'})
for item in r.get_iterator():
print item
我正在使用最新版本的TwitterAPI(2.1.13),requests库是2.2.1,并且我在Windows 8上运行Python 3.3.4。
非常感谢任何帮助。
1 个回答
6
你有一个叫做 json
的模块,它覆盖了标准库中的同名模块,所以你导入的是你自己的这个模块。
因为你自己写的 json
模块里没有 loads()
这个函数,所以 request
库在使用的时候出错了。
你可以通过运行以下命令来找到这个模块的文件位置:
import json
print(json.__file__)
把那个模块改个名字。