python爬虫与词云-釜山行豆瓣影评-requests库、bs4库与txt保存

影评爬取至txt

import requests
import bs4

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'}

urls= []
for i in range(6):#爬取前六页
    url='https://movie.douban.com/subject/25986180/comments?start='
    url= url+ str(i*20)+'&limit=20&sort=new_score&status=P'
    print(url)
    urls.append(url)

for url in urls:
    response= requests.get(url, headers=headers)
    content=response.text
    soup = bs4.BeautifulSoup(content, 'html.parser')
    
    anchorTag= soup.find_all('div',attrs={'class':'comment'})
    for tags in anchorTag:
       # comment=tags.find('p',attrs={'class':""}).text.strip()
        try:
            comment=tags.find('p',attrs={'class':""}).text.strip()
        except:
            continue
        #print(comment) 
        with open(r"C:\Users\84468\Desktop\movie.txt", 'a+',encoding = 'utf-8') as f:
            f.write(comment+ '\n')

结果如下:
在这里插入图片描述

词云代码:

import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud 

text = open(r'C:\Users\84468\Desktop\movie.txt', "r",encoding = 'utf-8').read()#读入txt文本数据
cut_text = jieba.cut(text) #结巴中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云
result = " ".join(cut_text)#必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
wc = WordCloud(background_color='white',width=500,height=300,max_font_size=50,min_font_size=10,font_path=r"c:\windows\fonts\simfang.ttf").generate(result)
plt.imshow(wc,interpolation='bilinear')
plt.axis("off")
plt.show()

结果如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值