Hello,大家好,我是程序员皮克。
今天,我来教大家如何用python来吃瓜~
这几天被王力宏的瓜给刷屏了,有不少的女性朋友都表示非常的震惊与愤怒
我对王力宏的大致印象也仅仅是停留在其高学历、流利的英语和满腹的经纶,其创作出来的很多篇好听的歌曲至今还流行在大街小巷,没想到也会有这样的行径。
今天我用Python来抓取这两位当事人底下评论区的内容,并绘制词云图,主要的代码如下
@retry(stop=stop_after_attempt(7))
def do_requests(uid, pageNum):
headers = {
"cookie": "SCF=Anhuv5v0Lu8oFE06-PmKm-uqVmUQgSwrLYauTMNCvEmRH0iOd-jT0poB-pgkpX_aJsOYqZjgw_F8TAZ0SL_aE9Q.; _T_WM=32be9637e54d4f58408755d6f8100d5c; SUB=_2A25MueV4DeRhGeRN7lQY8ynEwziIHXVsRYswrDV6PUJbkdAKLRPSkW1NU7D9XCuoP6vJEUUVjb0HcSPigsLzxFaW; SSOLoginState=1639814440",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
}
url = "https://weibo.cn/repost/L6w2sfDXb?&uid={}&&page={}".format(uid, pageNum)
response = requests.get(url, headers = headers)
return response.text
def get_comment(html_data):
html_text = BeautifulSoup(html_data, 'lxml')
comment_list = html_text.select("span.ctt")
return comment_list
def jieba_():
stop_words = set([line.strip() for line in open("chineseStopWords.txt", encoding="GBK").readlines()])
for word in ["回复", "有没有"]:
stop_words.add(word)
comment_list = []
with open("comment_data.txt", "r", encoding="utf-8") as comment_data_list:
for comment in comment_data_list:
comment_list.append(comment)
text = ", ".join(comment_list)
word_num = jieba.lcut(text, cut_all=False)
rule = re.compile(r"^[\u4e00-\u9fa5]+$")
word_num_selected = [word for word in word_num if word not in stop_words and
re.search(rule, word) and len(word) >= 2]
return word_num_selected
def plot_word_cloud(text):
# 打开词云背景图
cloud_mask = np.array(Image.open('gua_1.jpg'))
# 定义词云的一些属性
wc = WordCloud(
# 背景图分割颜色为白色
background_color='white',
# 背景图样
mask=cloud_mask,
# 显示最大词数
max_words=200,
# 显示中文
font_path='KAITI.ttf',
# 最大尺寸
max_font_size=100
)
text_ = ", ".join(text)
# 词云函数
x = wc.generate(text_)
# 生成词云图片
image = x.to_image()
# 展示词云图片
image.show()
# 保存词云图片
wc.to_file('melon_1.png')
针对男主的评论区生成的词云图如下,看得出来都是对男主的谩骂与怨恨,有不少人都要求封杀男主。
而他前妻发文底下的评论区,生成的词云图如下,大家都是在鼓励他前妻要坚强、加油面对生活,走出生活的低谷。
是不是就用python一下就提取出很多的关键词,了解人们对这件事情的看法
感兴趣的小伙伴也可以动手去尝试一下
我的分享到这里就结束,喜欢的小伙伴就点个赞和关注哦~