用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基础教程之面向对象的一些概念
Aug 29 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
Python遍历numpy数组的实例
Apr 04 Python
VSCode下配置python调试运行环境的方法
Apr 06 Python
Django中的Model操作表的实现
Jul 24 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
python中setuptools的作用是什么
Jun 19 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 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
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
封装好的省市地区联动控件附下载
2007/08/13 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
Python入门_学会创建并调用函数的方法
2017/05/16 Python
如何利用python查找电脑文件
2018/04/27 Python
python分布式编程实现过程解析
2019/11/08 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
网络安全类面试题
2015/08/01 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
个人简历自荐信
2013/12/05 职场文书
给领导的致歉信范文
2014/01/13 职场文书
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
初中班主任寄语
2014/04/04 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
法务专员岗位职责
2015/02/14 职场文书
教师师德表现自我评价
2015/03/05 职场文书
开会通知
2015/04/20 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python