利用PYTHON爬取豆瓣电影评论+词云

admin 2025年1月11日12:16:17评论3 views字数 1324阅读4分24秒阅读模式

0X00前言

这份作业是我们学校的爬虫作业,今天就顺带发送到博客里
该爬虫仅供学习使用,切勿违法操作

0X01正文

该爬虫程序所须库有
requests,lxml,time
首先我们查看一下网页的源代码(右键查看,并保存到本地)
利用PYTHON爬取豆瓣电影评论+词云

在这里,我们可以发现,每条评论的格式都为

<p class=" comment-content">           
                <span class="short">所爬的内容</span>
          </p>

所以说接下来我们用lxml的xpath来爬取,我是这么定位的:
tiqu=soup.xpath('//p[@class=" comment-content"]/span[@class="short"]/text()')
这就是第一阶段,我用来初步调试能否正常爬取。
以下附上第一阶段的代码截图
利用PYTHON爬取豆瓣电影评论+词云

okk,已经正常爬取评论了。
然后我们进入下一阶段,开始爬取所有的连接。
首先我们先打开豆瓣网站
利用PYTHON爬取豆瓣电影评论+词云

点击下一页的时候连接变为

https://movie.douban.com/subject/27619748/comments?start=20&limit=20&status=P&sort=new_score

我们可以发现多了一个start参数。所以说,我们可以通过修改start参数来进行页数的切换。
经过查询目前最多到200为止。
for page in range(0,220,20):
接下来我们需要把爬取的数据保存到一个文本里

with open(r'trj1.txt', 'a+',encoding='UTF-8') as f:
   f.write(tiqu + '\n')
   f.close()

噢,一定要记得加点延迟访问。否则可能会被网站拦截!!!而且降低访问速度,对对方网站的资源占用也不会太高。最后就如下图所示。
利用PYTHON爬取豆瓣电影评论+词云

如果想要方便调用的话,我们还可以利用def函数来封装。如图
利用PYTHON爬取豆瓣电影评论+词云

接下来就到了生成词云了。
(这里我直接用了系主任给的博客文章进行微调)。
不知道为什么,我文本格式是utf-8可,返回信息却是gbk.
利用PYTHON爬取豆瓣电影评论+词云

不过问题不大,只需要对这个地方调整即可
利用PYTHON爬取豆瓣电影评论+词云

然后通过调整以下代码来令图片更好看

wc = WordCloud(
             background_color="white",  # 背景颜色
             max_words=500,  # 显示最大词数
             font_path="C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_10.0.18362.1_none_cd668f05ece74044\simsun.ttc",  # 使用字体,每个人的文件路径可能不同
             min_font_size=10,
             max_font_size=60,
             width=400,
             height=860,
             mask=color_mask) # 图幅宽度

附上成品图
利用PYTHON爬取豆瓣电影评论+词云

0X02文末

这篇文章还是蛮有趣的,下一篇过几天发。感兴趣的xd麻烦github点点star
地址https://github.com/byyanxia/WinterVacationHomework

参考资料
python爬虫利器三之Xpath语法与lxml库的用法
中文常用停词
python词云实现

©著作权归作者所有 - source: 535yx.cn

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日12:16:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用PYTHON爬取豆瓣电影评论+词云https://cn-sec.com/archives/3619351.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息