最后的寒假大礼包

博客班级 https://edu.cnblogs.com/campus/fzzcxy/Freshman/
作业要求 https://edu.cnblogs.com/campus/fzzcxy/Freshman/homework/11734
作业目标 爬取影评并做成词云图
作业源代码 <填写这份作业源代码所在的码云仓库地址>
学号 212006240

找数据

首先查看网页源代码发现所需要爬取内容在网页内

写代码爬数据

本次爬影评以及制作云图是通过https://www.bilibili.com/video/BV1bK4y1J7Xy?t=1833学习的

词云图

小结

今天又是赶着deadline补作业的一天,这次作业在看到的第一眼就开始感觉头大,于是一拖再拖,一直拖到了今天早晨,今天一共尝试了两种方法爬取数据,但第一种方法由于找不到json文件而放弃,好在正巧找到了一篇切题的教学资料才得以提交上一份作业,代码基本是copy讲课老师的,但好在在今天一天的学习中多少对爬数据,网页组成有了皮毛的理解,再见啦寒假,等待下一次的暑假补作业。

因为爬数据而被豆瓣403限制IP

电脑github无法登录

20:10

代码先放在博客园上

import requests
import parsel

page_count = 0
for page in range(0,361,20):
    page_count += 1
    print(f'================正在爬取第{page_count}页数据================')
    url = f'https://movie.douban.com/subject/34841067/comments?start={page}&limit=20&status=P&sort=new_score'
    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}

    response = requests.get(url=url,headers=headers)
    html_data = response.text


    Selector=parsel.Selector(html_data)
    comments_list = Selector.xpath('//span[@class="short"]/text()').getall()

    with open('《你好!李焕英!》.txt',mode='a',encoding='utf-8')as f:
        for comment in comments_list:
            print(comment)
            f.write(comment.replace('\n',''))
            f.write('\n')

import jieba
import imageio
import wordcloud

f=open('《你好!李焕英!》.txt',mode='r',encoding='utf-8')
txt = f.read()

txt_list = jieba.lcut(txt)

string1 = ' '.join(txt_list)


wc=wordcloud.WordCloud(
    width=2000,
    height=1200,
    background_color = "black",
    font_path = 'msyh.ttc',
    scale=15,
    stopwords=set([line.strip()for line in open('stopword.txt',mode='r',encoding='utf-8').readlines()])
)


wc.generate(string1)


wc.to_file('output.png')
posted @ 2021-02-28 20:17  计科废物2  阅读(115)  评论(0编辑  收藏  举报