作者:IPIDEA
2022-09-23 15:23:00
用python爬取微信好友信息,清理数据,IPIDEA教程的上半部分已经有所讲述,让我们继续解决这个问题,完成接下来的两个步骤。
4、利用签名绘制词云
#4、绘制词云
#4.1 全球住宅IP,高效采集公开数据签名中的emoji、span、class、类似<>/= 之类的符号等等
siglist = []
for i in friends:
signature = i["Signature"].strip().replace("span","").replace("class","").replace("emoji","")
rep = re.compile("1fd+w*|[<>/=]")
signature = rep.sub("", signature)
siglist.append(signature)
text = "".join(siglist)
#4.2 把结巴分词这个包搞进来分词
import jieba
wordlist = jieba.cut(text, cut_all=True)
word_space_split = " ".join(wordlist)
#4.3 进入画图阶段,根据自己想要的图片、形状、颜色画出相似的图形
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image
coloring = np.array(Image.open("101.jpg"))
my_wordcloud = WordCloud(background_color="white", max_words=2000,
mask=coloring, max_font_size=60, random_state=42, scale=2,
font_path="STXINWEI.TTF").generate(word_space_split)
image_colors = ImageColorGenerator(coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
5、ggplot图形展示
#5、ggplot图形展示
import matplotlib.pyplot as plt
#获取csv内容
df = pd.read_csv(data.csv)
#配置图
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.hist(df[Sex], bins=7)
#标题
plt.title(Sex distribution)
#X轴标题
plt.xlabel(Sex)
#Y轴标题
plt.ylabel(people)
plt.show()
将以上这些步骤完全自行 之后,我们就能够将微信好友的基本信息抓取完毕了。