用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中的高级数据结构详解
Mar 27 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
使用tensorflow实现线性回归
Sep 08 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Pytorch 中retain_graph的用法详解
Jan 07 Python
python3爬取torrent种子链接实例
Jan 16 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
python playwrigh框架入门安装使用
Jul 23 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中mysql模块部分功能的简单封装
2011/09/30 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python简单区块链模拟详解
2019/07/03 Python
幼教个人求职信范文
2013/12/02 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
商场活动策划方案
2014/01/24 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
交通事故协议书
2014/04/15 职场文书
个人承诺书怎么写
2014/05/24 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
大学生学期个人总结
2015/02/12 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫