从json到抽取关键词

代码:

import json 
from bs4 import BeautifulSoup
import jieba
import jieba.analyse


# 读取json文件第一行的内容

f = open("items.json")
# 读取第一行
dic = json.loads(next(f))
content = dic["content"]
print(content)

运行结果:

<div class="article" id="article">
				<div><p>证券时报网(www.stcn.com)04月03日讯</p> <p>ST华泽复牌连续10日跌停,报7.5元,仍有逾70万手卖单封板。公司预计2017年亏损14-19亿元,公司股票将因连续三年亏损被暂停上市。</p><p>华商基金今年2月发布公告称,自2018年2月1日起,对旗下基金持有的*ST华泽股票进一步进行估值调整,调整后的估值价格为0.55元,相当于复牌后有连续61个跌停。</p> <p>(证券时报网快讯中心)</p>   </div>
				
				  </div>

代码:

# Beautiful解析

soup = BeautifulSoup(content, "lxml")
print("===" * 20)
print(soup.findAll('p'))
print("===" * 20)
for x in soup.findAll('p'):
    print(x.text)
print("===" * 20)
# 列表解析式
sentence = "\n".join([x.text for x in soup.findAll("p")])
print(sentence)

运行结果:

============================================================
[<p>证券时报网(www.stcn.com)04月03日讯</p>, <p>ST华泽复牌连续10日跌停,报7.5元,仍有逾70万手卖单封板。公司预计2017年亏损14-19亿元,公司股票将因连续三年亏损被暂停上市。</p>, <p>华商基金今年2月发布公告称,自2018年2月1日起,对旗下基金持有的*ST华泽股票进一步进行估值调整,调整后的估值价格为0.55元,相当于复牌后有连续61个跌停。</p>, <p>(证券时报网快讯中心)</p>]
============================================================
证券时报网(www.stcn.com)04月03日讯
ST华泽复牌连续10日跌停,报7.5元,仍有逾70万手卖单封板。公司预计2017年亏损14-19亿元,公司股票将因连续三年亏损被暂停上市。
华商基金今年2月发布公告称,自2018年2月1日起,对旗下基金持有的*ST华泽股票进一步进行估值调整,调整后的估值价格为0.55元,相当于复牌后有连续61个跌停。
(证券时报网快讯中心)
============================================================
证券时报网(www.stcn.com)04月03日讯
ST华泽复牌连续10日跌停,报7.5元,仍有逾70万手卖单封板。公司预计2017年亏损14-19亿元,公司股票将因连续三年亏损被暂停上市。
华商基金今年2月发布公告称,自2018年2月1日起,对旗下基金持有的*ST华泽股票进一步进行估值调整,调整后的估值价格为0.55元,相当于复牌后有连续61个跌停。
(证券时报网快讯中心)

代码:

# 关键词抽取

kwords = jieba.analyse.extract_tags(sentence, topK=5)
print("===" * 20)
print("/".join(kwords))

# 词性过滤
kwords = jieba.analyse.extract_tags(sentence, topK=5, allowPOS=('ns','n','vn','v','nr'))
print("===" * 20)
print("/".join(kwords))

运行结果:

============================================================
ST/连续/证券时报/跌停/亏损
============================================================
证券时报/跌停/亏损/华泽复/卖单

猜你喜欢

转载自blog.csdn.net/wangsiji_buaa/article/details/80265488