用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爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
python的re模块应用实例
Sep 26 Python
python Django模板的使用方法
Jan 14 Python
python模块smtplib学习
May 22 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python 中xpath爬虫实例详解
Aug 26 Python
python科学计算之scipy——optimize用法
Nov 25 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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设计模式中工厂模式详细介绍
2013/05/15 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php实现的简单检验登陆类
2015/06/18 PHP
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
深入理解Node module模块
2018/03/26 Javascript
详解JavaScript的变量
2019/04/04 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
python函数的5种参数详解
2017/02/24 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Python3中的bytes和str类型详解
2019/05/02 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
销售人员个人求职信
2013/09/26 职场文书
生物化工工艺专业应届生求职信
2013/10/08 职场文书
生日宴会答谢词
2014/01/09 职场文书
中国入世承诺
2014/04/01 职场文书
婚宴邀请函
2015/01/30 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
用Python爬取某乎手机APP数据
2021/06/15 Python
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技