首页 文章详情

【Python】Python抓取了王力宏事件的相关报道,发现了一个更大的瓜

机器学习初学者 | 233 2021-12-24 09:17 0 0 0
UniSMS (合一短信)
这几天被王力宏的瓜给刷屏了,有不少的女性朋友都表示非常的震惊与愤怒

有网友还对他的前妻的发文做了一个简短的总结,如下图所示

小编对王力宏的大致印象也仅仅是停留在其高学历、流利的英语和满腹的经纶,其创作出来的很多篇好听的歌曲至今还流行在大街小巷,没想到也会有这样的行径。

今天小编用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')
针对男主的评论区生成的词云图如下,看得出来都是对男主的谩骂与怨恨,有不少人都要求封杀男主。

而他前妻发文底下的评论区,生成的词云图如下,大家都是在鼓励他前妻要坚强、加油面对生活,走出生活的低谷。

往期精彩回顾




站qq群955171419,加入微信群请扫码:
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter