データベース・コードに関連します
クラスJobPositionDao(BaseDao): デフ __init__ (自己): スーパー()。__init__ () # 查询パイソン所有岗位的描述 DEF findPythonDetail(自己): SQL = " JC WHERE jd.detail_positionid = jp.job_idとして` `、JDとしてjob_position_detail`` FROM JPとしてjob_position`をjd.detail_desciptionを選択job_collect_task`とjp.job_taskid = 5; " 結果 = self.execute(SQL、paramsは= なし) self.commit() リターンself.fetch() パス
描画コード
インポートjieba から day022.spiderproject.spiderproject.dao.jobpositiondao インポートJobPositionDaoの インポートPLTとしてmatplotlib.pyplot から wordcloud インポートWordCloud、ImageColorGeneratorの インポートNPとしてnumpyの から PILのインポートイメージ から functoolsはインポート減らす JP = JobPositionDaoを() txtList = jp.findPythonDetail() txtList = [I [0] 用の I におけるtxtList】 プリント(txtList) 開きます("PythonDetail.txt " " W "エンコーディング= " UTF8 " :)FPとして fp.writelines(txtList) 通過 オープン(と" PythonDetail.txt " " R "エンコーディング= " UTF8 " FPとして): txtStr = FP .read() 合格 (オープンと" StopWords.txt "、" R "、エンコーディング= " UTF8 " FPとして): ストップワード = fp.read()。スプリット( "、" ) パス wordListに = jieba.lcut(txtStr) wordListに = [W ための W に wordListにIF W ません でストップワード] #の削除ストップワード wordsStr減らす=(ラムダ A、B:A + " " + B、wordListに)#ワードこれは、スペースで区切られた文字列に接続されている imgMask = np.array(Image.open(" alice_mask.png " )) wordcloud = wordcloud(MAX_WORDSが= 200であり、マスク= imgMask、BACKGROUND_COLOR = " 白"、font_path = "C:/Windows/Fonts/SIMYOU.TTF 」).generate(wordsStr) #の 負荷フォントサポート中国 plt.imshow(wordcloud) plt.axis(' OFF ' ) plt.show()
結果