最后的寒假大礼包
博客班级 | 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')