用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模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Python模块文件结构代码详解
Feb 03 Python
Python3实现转换Image图片格式
Jun 21 Python
python2.7和NLTK安装详细教程
Sep 19 Python
python实现统计文本中单词出现的频率详解
May 20 Python
python修改FTP服务器上的文件名
Sep 11 Python
Django实现文件上传下载功能
Oct 06 Python
opencv3/C++图像像素操作详解
Dec 10 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Python-for循环的内部机制
Jun 12 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
Javascript继承机制详解
2017/05/30 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
Python中的类与类型示例详解
2019/07/10 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
html5唤醒APP小记
2019/03/27 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
房地产推广策划方案
2014/05/19 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
开平碉楼导游词
2015/02/06 职场文书
村党组织公开承诺书
2015/04/30 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js