用python结合jieba和wordcloud实现词云效果


Posted in Python onSeptember 05, 2017

0x00 前言

突然想做一个漏洞词云,看看哪些漏洞比较高频,如果某些厂商有漏洞公开(比如ly),也好针对性挖掘。就选x云吧(镜像站 http://wy.hxsec.com/bugs.php )。用jieba和wordcloud两个强大的第三方库,就可以轻松打造出x云漏洞词云。

github地址: https://github.com/theLSA/wooyun_wordcloud

本站下载地址:wooyun_wordcloud

0x01 爬取标题

直接上代码:

#coding:utf-8
#Author:LSA
#Description:wordcloud for wooyun
#Date:20170904

import urllib
import urllib2
import re
import threading
import Queue

q0 = Queue.Queue()

threads = 20

threadList = []

def gettitle():
 while not q0.empty():

 i = q0.get()
 url = 'http://wy.hxsec.com/bugs.php?page=' + str(i)
 html = urllib.urlopen(url).read()
 reg = re.compile(r'<li style="width:60%;height:25px;background-color:#FFFFFF;float:left" ><a href=".*?" rel="external nofollow" >(.*?)</a>')
 titleList = re.findall(reg,html)
 fwy = open("wooyunBugTitle.txt","a")
 for title in titleList:
 fwy.write(title+'\n')
 fwy.flush()
 fwy.close()
 print 'Page ' + str(i) + ' over!'

def main():
 for page in range(1,2962):
 q0.put(page)
 for thread in range(threads):
 t = threading.Thread(target=gettitle)
 t.start()
 threadList.append(t)
 for th in threadList:
 th.join()

 print '***********************All pages over!**********************'

if __name__ == '__main__':
 main()

0x02 打造词云

还是直接上代码:

# coding: utf-8

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt

data = open("wooyunBugTitle.txt","r").read()
cutData = jieba.cut(data, cut_all=True)
word = " ".join(cutData)

cloud = WordCloud(
 #设置字体,不指定可能会出现中文乱码
 font_path="msyh.ttf",
 #font_path=path.join(e,'xxx.ttc'),
 #设置背景色
 background_color='white',
 #词云形状
 #mask=color_mask,
 #允许最大词汇
 max_words=2000,
 #最大号字体
 max_font_size=40
 )

wc = cloud.generate(word)
wc.to_file("wooyunwordcloud.jpg") 
plt.imshow(wc)
plt.axis("off")
plt.show()

0x03 效果演示:

用python结合jieba和wordcloud实现词云效果

用python结合jieba和wordcloud实现词云效果

用python结合jieba和wordcloud实现词云效果

0x04 结语

由词云图可以看出,SQL注入依旧风光无限,其次是命令执行,继而是信息泄漏,整体看还是比较直观的。

Python 相关文章推荐
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
Python文件操作基本流程代码实例
Dec 11 Python
django模板语法学习之include示例详解
Dec 17 Python
Python实现将照片变成卡通图片的方法【基于opencv】
Jan 17 Python
彻底搞懂Python字符编码
Jan 23 Python
django 发送手机验证码的示例代码
Apr 25 Python
利用Python实现kNN算法的代码
Aug 16 Python
Pycharm小白级简单使用教程
Jan 08 Python
django model object序列化实例
Mar 13 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 #Python
python 生成器协程运算实例
Sep 04 #Python
python 文件操作删除某行的实例
Sep 04 #Python
Django数据库操作的实例(增删改查)
Sep 04 #Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 #Python
Python2实现的LED大数字显示效果示例
Sep 04 #Python
Python2随机数列生成器简单实例
Sep 04 #Python
You might like
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
JavaScript中json使用自己总结
2013/08/13 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
python实现决策树、随机森林的简单原理
2018/03/26 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
深入了解NumPy 高级索引
2020/07/24 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
技术副厂长岗位职责
2013/12/26 职场文书
承办会议欢迎词
2014/01/17 职场文书
大型车展策划方案
2014/02/01 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
房屋转让协议书范本
2014/04/11 职场文书
求职信怎么写
2014/05/23 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
写景作文评语集锦
2014/12/25 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
亮剑观后感600字
2015/06/05 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫