Google Cloud Natural Language API用法 - 分析HTML情感

时间:2017-09-14 13:00:48

标签: python nlp google-cloud-platform

我想使用Google Natural API分析给定html地址的新闻内容,使用API​​中的一个函数,我的代码如下:

from google.cloud import language
def sentiment(HTML):
    client=language.Client()
    document=client.document_from_html(HTML)
    sent_analysis=document.analyze_sentiment()
    senti = sent_analysis.sentiment
    print ('Score',senti.score,'Magnitude',senti.magnitude)

if __name__ == '__main__':
    senti=sentiment('http://www.marketwatch.com/story/amazon-adding-1000-full-time-jobs-with-michigan-fulfillment-center-2017-09-14?siteid=yhoof2&yptr=yahoo')

结果始终为0,无论我传递的新闻页面如何,它似乎都没有做任何事情。我如何使用它有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您实际分类的是网址,而不是其内容。 HTML内容类型意味着它将删除文本中的任何格式,因此如果您有类似的内容:

<h1>HTML Ipsum Presents</h1>

<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>

它会删除所有的html标签。

要对文章的内容进行分类,您需要先获取它,例如:

import requests
req = requests.get('http://www.marketwatch.com/story/amazon-adding-1000-full-time-jobs-with-michigan-fulfillment-center-2017-09-14?siteid=yhoof2&yptr=yahoo')
html = req.text 

现在这将获得整个html文件,其中包含除文章之外的所有其他废话,例如<head>。我不确定语言api在移除它时有多好。