from newsapi.sources import Sources
import json
api_key ='*******************'
s = Sources(API_KEY=api_key)
他们输入了他们想要的新闻类别
wanted = input('> ')
source_list = s.get(category=wanted, language='en')
index = 0
sources = []
获取来源 用于source_list [“ sources”]中的源:
data = json.dumps(source_list)
data = json.loads(data)
source = (data["sources"][index]["url"])
sources.append(source)
index += 1
from newspaper import Article
i = len(sources) - 1
遍历源代码列表并打印文章 对于来源中的来源:
url_ = sources[i]
a = Article[url_]
print(a)
i -= 1
获取错误的'type'对象无法在a = Article[url_]
行中进行下标,但仍然不明白为什么是我的情况。
答案 0 :(得分:2)
您的问题的简单解决方案是:
a = Article[url_]
应该是:
a = Article(url_)
现在要说明为什么会出现TypeError: 'type' object is not subscriptable
错误。
此TypeError
是python在使用方括号表示法object[key]
时抛出的一个,其中对象未定义__getitem__
方法。例如,在[]
上使用object
会抛出:
>>> object()["foo"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'object' object is not subscriptable
在这种情况下,尝试实例化一个类时,偶然使用了[]
而不是()
。大多数类(包括此类Article
都是type
类的实例,因此尝试object["foo"]
会导致与您遇到的错误相同的错误:
>>> object["foo"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'type' object is not subscriptable