用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处理python编码问题
Mar 13 Python
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
Python3搜索及替换文件中文本的方法
May 22 Python
Python实现简单的四则运算计算器
Nov 02 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
python简单实现插入排序实例代码
Dec 16 Python
Python基础之赋值,浅拷贝,深拷贝的区别
Apr 30 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导出带样式的Excel示例代码
2016/08/28 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
Python调用飞书发送消息的示例
2020/11/10 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
卫校护理专业毕业生求职信
2013/11/26 职场文书
劲霸男装广告词
2014/03/21 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
辞职信格式模板
2015/02/27 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
论文评审意见
2015/06/05 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
python tkinter实现定时关机
2021/04/21 Python
MySQL索引是啥?不懂就问
2021/07/21 MySQL
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS