用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使用Berkeley DB数据库实例
Sep 26 Python
python之wxPython应用实例
Sep 28 Python
python获取本地计算机名字的方法
Apr 29 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
python2.7实现爬虫网页数据
May 25 Python
Python将多个list合并为1个list的方法
Jun 27 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
90行Python代码开发个人云盘应用
Apr 20 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解决图片无损压缩的问题
2017/09/01 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
JS面向对象编程详解
2016/03/06 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Python模拟三级菜单效果
2017/09/11 Python
Python中optparser库用法实例详解
2018/01/26 Python
python内置数据类型之列表操作
2018/11/12 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
党的群众路线学习笔记
2014/11/06 职场文书
2014年档案室工作总结
2014/12/01 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
公务员个人年终总结
2015/02/12 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
javascript实现计算器功能详解流程
2021/11/01 Javascript
vue组件vue-esign实现电子签名
2022/04/21 Vue.js
APP界面设计技巧和注意事项
2022/04/29 杂记
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python