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
在a = Article[url_]
研究过的行上,获取错误的“类型”对象是不可订阅的,但仍然不明白为什么在我的情况下。
发布于 2018-07-07 19:26:27
你的问题的简单解决方案是:
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
在这种情况下,在尝试实例化一个类时,意外地使用了[]
s而不是()
s。大多数类(包括这个Article
类)都是type
类的实例,因此尝试object["foo"]
会导致您遇到相同的错误:
>>> object["foo"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'type' object is not subscriptable
https://stackoverflow.com/questions/51221710
复制相似问题