python可读性的使用

python可读性的使用,python,readability,Python,Readability,() 我正在努力使用这个库,我找不到任何关于它的文档。(有吗?) 有一些有用的东西叫做帮助(文档),但仍然有一些地方不对劲 到目前为止,我的代码是: from readability.readability import Document import requests url = 'http://www.somepage.com' html = requests.get(url, verify=False).content readable_article = Document(html,

()

我正在努力使用这个库,我找不到任何关于它的文档。(有吗?)

有一些有用的东西叫做帮助(文档),但仍然有一些地方不对劲

到目前为止,我的代码是:

from readability.readability import Document
import requests

url = 'http://www.somepage.com'

html = requests.get(url, verify=False).content
readable_article = Document(html,   negative_keywords='test_keyword').summary()

with open('test.html', 'w', encoding='utf-8') as test_file:
    test_file.write(readable_article)
根据帮助(文档)输出,应该可以使用列表输入否定的关键字

readable_article = Document(html, negative_keywords=['test_keyword1', 'test-keyword2').summary()
给了我一大堆我不明白的错误:

回溯(最近一次调用上次):文件 “/usr/lib/python3.4/site packages/readability/readability.py”,第行 总之,163 候选项=self.score_段落()文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 300,在分数段中 候选者[parent_node]=self.score_node(parent_node)文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 360,在分数节点中 content\u score=self.class\u weight(elem)文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 348,在类_重量中 如果self.negative\u关键字和self.negative\u关键字。搜索(功能):AttributeError:'list'对象 没有属性“搜索”回溯(最近一次调用上次):文件 “/usr/lib/python3.4/site packages/readability/readability.py”,第行 总之,163 候选项=self.score_段落()文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 300,在分数段中 候选者[parent_node]=self.score_node(parent_node)文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 360,在分数节点中 content\u score=self.class\u weight(elem)文件“/usr/lib/python3.4/site packages/readability/readability.py”,第行 348,在类_重量中 如果self.negative\u关键字和self.negative\u关键字。搜索(功能):AttributeError:'list'对象 没有“搜索”属性


有人能给我一个关于错误的提示或者如何处理它吗?

库代码中有一个错误。如果你看:

您可以看到,只有当
元素
不是None、不是列表或元组、也不是正则表达式时,它才会返回正则表达式


不过,稍后,它会假定
self.negative\u关键字
是一个正则表达式。因此,我建议您以字符串形式输入列表,格式为
“test\u关键字1,test\u关键字2”
。这将确保
compile\u pattern
返回一个正则表达式,该正则表达式将修复错误。

这不是一堆错误,而是错误堆栈。它显示了一个错误,以及导致该点的所有函数调用。换句话说,就是关于它是如何达到这一点的信息。@user3199535当然!已经有人提出了解决此问题的解决方案。
def compile_pattern(elements):
    if not elements:
        return None
    elif isinstance(elements, (list, tuple)):
        return list(elements)
    elif isinstance(elements, regexp_type):
        return elements
    else:
        # assume string or string like object
        elements = elements.split(',')
        return re.compile(u'|'.join([re.escape(x.lower()) for x in elements]), re.U)