用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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
Python中自定义函数的教程
Apr 27 Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
详解python使用turtle库来画一朵花
Mar 21 Python
详解python调用cmd命令三种方法
Jul 08 Python
python求平均数、方差、中位数的例子
Aug 22 Python
Django学习之文件上传与下载
Oct 06 Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 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
Zend 输出产生XML解析错误
2009/03/03 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Windows下PyMongo下载及安装教程
2015/04/27 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
python实现根据文件格式分类
2019/10/31 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
大学生物业管理求职信
2013/10/24 职场文书
小学生读书感言
2014/02/12 职场文书
观看信仰心得体会
2014/09/04 职场文书
初中生活随笔
2015/08/15 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Django如何创作一个简单的最小程序
2021/05/12 Python
JVM钩子函数的使用场景详解
2021/08/23 Java/Android