python获取论坛版块/作者数据生成词云
本帖最后由 null119 于 2019-7-10 23:25 编辑先看结果,看看各位在各个版块的作者词云图中有没有自己的名字:lol
原创区:
帖子标题词云图
作者词云图
脱壳破解区:
帖子标题词云图
作者词云图
移动安全区:
帖子标题词云图
作者词云图
软件调试区:
帖子标题词云图
作者词云图
编程区:
帖子标题词云图
作者词云图
动画区:
帖子标题词云图
作者词云图
逆向资源区:
帖子标题词云图
作者词云图
精品软件区:
帖子标题词云图
作者词云图
悬赏区:
帖子标题词云图
作者词云图
病毒分析区:
帖子标题词云图
作者词云图
病毒救援区:
帖子标题词云图
作者词云图
安全工具区:
帖子标题词云图
作者词云图
代码:
import requests
from lxml import etree
importjieba
import numpy as np
import matplotlib.pyplot as plt
import time
from PIL import Image
from wordcloud import WordCloud
def GetData(forumdata):
for j in forumdata:
url = 'https://www.52pojie.cn/forum-x-1'
url = url.split('-')
nurl = url + '-' + j + '-' + url+'.html'
html = requests.get(nurl)
ehtml = etree.HTML(html.text)
forumname=''.join(ehtml.xpath('//*[@id="ct"]/div/div/div/h1/a/text()')).replace('『','').replace('』','')
print(forumname)
pagenum = ehtml.xpath('//*[@id="fd_page_top"]/div/label/span/text()')
pagenum = pagenum.replace(' / ', '').replace(' 页','')
txt=''
for i in range(1,int(pagenum)+1):
nurl = url + '-' + j + '-' + str(i) + '.html'
html = requests.get(nurl)
ehtml = etree.HTML(html.text)
#pltxt = ' '.join(ehtml.xpath('//*[@id="threadlisttableid"]/tbody/tr/td/cite/a/text()'))#获取帖子作者
pltxt = ' '.join(ehtml.xpath('//*[@class="s xst"]/text()')) #帖子标题
txt = txt + pltxt
time.sleep(1) # 给服务器留些喘气的时间
cut_text =txt
wordcloud = WordCloud(
font_path='simhei.ttf',
background_color='white',
width=800,
height=500
).generate(cut_text)
wordcloud.to_file('c:\\'+forumname+'.png')
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
if __name__ == '__main__':
forumdata=[
"2",# 原创发布区 0
"5",# 脱壳破解区 1
"65",# 移动安全区 2
"59",# 软件调试区 3
"24",# 编程语言区 4
"6",# 动画发布区 5
"4",# 逆向资源区 6
"16",# 精品软件区 7
"8",# 悬赏问答区 8
"32",# 病毒分析区 9
"50",# 病毒救援区 10
"41"#安全工具区 11
]
print('开始获取,请稍候...')
GetData(forumdata)
注:代码没有加容错,有需要就请自行添加修改 huguo002 发表于 2019-7-14 17:41
import jieba
import numpy as np#使用的numpy模块中的随机函数
from PIL import Image #图像处理标准 ...
是的,PIL本身是作为处理词云图背景的,后面词云图没有使用背景,SO。。 maxin881226 发表于 2019-7-11 08:50
精品软件区竟然有我哈哈哈哈 一大早看到高兴
那可真不是一般人啊{:1_921:} 大佬。。。
syf1313113 发表于 2019-7-10 23:35
大佬。。。
抢楼 等火 竟然没有水区。。。 爬取回帖,生成TXT,可以? 待使用更长时间之后再来提建议 正在学习中
我竟然运行成功。 精品软件区竟然有我哈哈哈哈 一大早看到高兴{:1_893:} 感谢源码奉献。大牛呀