用python结合jieba和wordcloud实现词云效果

发布时间 - 2026-01-11 03:06:22    点击率:

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 效果演示:

0x04 结语

由词云图可以看出,SQL注入依旧风光无限,其次是命令执行,继而是信息泄漏,整体看还是比较直观的。


# jieba  # wordcloud  # python  # python3  # python生成词云的实现方法(推荐)  # 使用python实现个性化词云的方法  # 详解Python如何生成词云的方法  # Python制作词云图代码实例  # 用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)  # Python基于jieba库进行简单分词及词云功能实现方法  # Python制作词云的方法  # python词云库wordCloud使用方法详解(解决中文乱码)  # python词云库wordcloud的使用方法与实例详解  # Python词云的正确实现方法实例  # 下载地址  # 镜像  # 可以看出  # 第三方  # 想做  # 就可以  # 背景色  # 风光无限  # 造词  # str  # page  # html  # Queue  # urlopen  # gettitle  # def  # threadList  # threads  # url  # empty 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  教学论文网站制作软件有哪些,写论文用什么软件 ?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  怎么用AI帮你为初创公司进行市场定位分析?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  如何在IIS管理器中快速创建并配置网站?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在橙子建站中快速调整背景颜色?  教你用AI润色文章,让你的文字表达更专业  Laravel怎么清理缓存_Laravel optimize clear命令详解  如何在阿里云完成域名注册与建站?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何在IIS中新建站点并配置端口与物理路径?  如何在云主机上快速搭建网站?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  b2c电商网站制作流程,b2c水平综合的电商平台?  Python文件流缓冲机制_IO性能解析【教程】  如何自定义建站之星网站的导航菜单样式?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在宝塔面板中创建新站点?  Laravel如何使用Gate和Policy进行授权?(权限控制)  教你用AI将一段旋律扩展成一首完整的曲子  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  EditPlus中的正则表达式 实战(1)  微信小程序 wx.uploadFile无法上传解决办法  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  JS经典正则表达式笔试题汇总  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  网站制作软件有哪些,制图软件有哪些?  Laravel怎么使用artisan命令缓存配置和视图  Laravel怎么在Controller之外的地方验证数据  如何快速选择适合个人网站的云服务器配置?  如何快速查询域名建站关键信息?  Python进程池调度策略_任务分发说明【指导】  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel如何处理CORS跨域请求?(配置示例)  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel如何使用Blade组件和插槽?(Component代码示例)  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  焦点电影公司作品,电影焦点结局是什么?