我想使用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,无论我传递的新闻页面如何,它似乎都没有做任何事情。我如何使用它有什么问题吗?
答案 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在移除它时有多好。