Python爬取豆瓣网影评展示

需要的库文件

  • requests
  • beautifulsoup
  • wordcloud
  • jieba
  • matplotlib

本文思想

1.访问指定的网页

#获取指定url的内容
def load_html(url):html = requests.get(url)return html

我们爬取的是电影<<肖申克的救赎>>的影评,因为我们要对影评中的评价作展示,所以我们需要影评的条数尽可能的多一点.所以我们需要来自动翻页进行爬取.
首先我们来观察其url的规律,首页的url为 https://movie.douban.com/subject/1292052/comments?status=P,
我们点击翻页之后的url为:https://movie.douban.com/subject/1292052/comments?start=20&limit=20&sort=new_score&status=P ,我们可以看到的是当我们点击下一页之后.url多出来了 start=20&limit=20&sort=new_score& 这个内容.显而易见start代表的是页面开始时影评的第几条.limit为每一页显示多少条影评.因此我们可以根据这个规律来编写url

这里为循环获得翻页之后的网址进行爬取

    for i in range(10):html = load_html(f"https://movie.douban.com/subject/1292052/comments?start={20*i}&limit=20&sort=new_score&status=P")

2.解析网页内容

我们可以通过F12审查元素来查找自己想要爬取的内容信息,这里我们看到页面的影评处理span标签中且其class=short,所以我们可以指定对应的规则来获取其内容.

def parse_html(html):soup = BeautifulSoup(html.content)#得到一个BeautifulSoup的对象files = soup.find_all("span",class_="short")##寻找所有span标签且class=shortfor file in files:print(file)return files

结果为:

<span class="short">当年的奥斯卡颁奖礼上,被如日中天的《阿甘正传》掩盖了它的光彩,而随着时间的推移,这部电影在越来越多的人们心中的地位已超越了《阿甘》。每当现实令我疲惫得产生无力感,翻出这张碟,就重获力量。毫无疑问,本片位列男人必看的电影前三名!回顾那一段经典台词:“有的人的羽翼是如此光辉,即使世界上最黑暗的牢狱,也无法长久地将他围困!”</span>
<span class="short">人的生命不过是从一个洞穴通往另一个世界..然后在那个世界的雨中继续颤抖.i hope</span>
<span class="short">不需要女主角的好电影</span>
<span class="short">恐惧让你沦为囚犯,希望让你重获自由。——《肖申克的救赎》</span>
<span class="short">“这是一部男人必看的电影。”人人都这么说。但单纯从性别区分,就会让这电影变狭隘。《肖申克的救赎》突破了男人电影的局限,通篇几乎充满令人难以置信的温馨基调,而电影里最伟大的主题是“希望”。
当我们无奈地遇到了如同肖申克一般囚禁了心灵自由的那种囹圄,我们是无奈的老布鲁克,灰心的瑞德,还是智慧的安迪?运用智慧,信任希望,并且勇敢面对恐惧心理,去打败它?
经典的电影之所以经典,因为他们都在做同一件事——让你从不同的角度来欣赏希望的美好。</span>
<span class="short">Hope is a good thing, and maybe the best thing of all.</span>
<span class="short">墙里的人老是喊自由,可是墙外的我们真正得到了吗?</span>
<span class="short">策划了19年的私奔……</span>
<span class="short">不愧是好莱坞大片,一环扣一环,没想到最后不但逃生生天还偷偷把典狱长的贪污转移了出来,证据也送达了出去,帮助了曾经关心过自己的人,情节安排的巧妙,演员演绎的也好,是美国的,有爱国情节的我给打四分</span>
<span class="short">关于希望最强有力的注释。</span>
<span class="short">有种鸟是关不住的.</span>
<span class="short">超级喜欢超级喜欢,不看的话人生不圆满.</span>
<span class="short">常年霸占豆瓣电影第一名,在盛名之下看的,可能是心理预期太高,看过了之后反而又一点点失望。但它仍然是个好电影,越狱系列的no.1。在绝境之下不放弃自己,隐忍而睿智,知识永远是第一生产力。</span>
<span class="short">忒经典的东西,我要带去我的坟墓</span>
<span class="short">Fear Can Hold You Prisoner, Hope Can Set You Free</span>
<span class="short">没有人会不喜欢吧!书和电影都好。</span>
<span class="short">这样的男人谁会舍得背叛。。。</span>
<span class="short">一部没有爱情与美女的电影,却光芒四射</span>
<span class="short">因为1994年台湾引进了一部比较卖座的老片The Sting,被错译成了《刺激》。到了1995年本片上映时,片商觉得其剧情与《刺激》有类似的地方(大概都属于高智商的复仇?),因此被译成了《刺激1995》,1998年又有一部片子Return To Paradise因为含有牢狱情节,被译成《刺激1998》!</span>
<span class="short">hope is a good thing</span>

3.将爬取的内容保存至本地文件

def save(text,i):print(f"开始保存第{i}个页面内容...")with open(r"C:\Users\Lenovo1\Desktop\bear.txt","a")as f:for mes in text:try:f.write(mes.text+"\n")except Exception:print(f"第{i}个页面内容保存出错")

4.使用词云的形式展示出来

将爬取下来的内容保存在本地的文件中,然后使用jiaba库和wordcloud库来展示核心影评词汇.

def show(path):with open(path) as f:mes = f.read()seg_list = jieba.cut(mes,cut_all=False)#精确模式进行分词res = ",".join(seg_list)font="C:\Windows\Fonts\simhei.ttf"stopwords = ["本片","因为","一个","这么","一部","喜欢","就是","the","is","电影","我们","还有","什么","没有","每个","真的","片子","时候","这部"]#这里指定词云中不显示的词汇wc = WordCloud(font_path=font,min_font_size=5,max_font_size=50,stopwords=stopwords)#这里指定了字体,就不会出现不显示中文的情况wc.generate(res)plt.figure()plt.imshow(wc)plt.show()

结果展示:

注释:这里所说的仅仅是爬虫的冰山一角.也可以说都不算爬虫.未来共同进步.

参考文档

  • https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id5
  • https://github.com/fxsjy/jieba

Python爬取豆瓣网影评展示相关推荐

  1. 完全小白篇-用python爬取豆瓣电影影评

    完全小白篇-用python爬取豆瓣影评 打开豆瓣电影 随机电影的所有影评网页 跳转逻辑 分析影评内容获取方法 逐一正则提取影评 针对标签格式过于多样的处理 针对提出请求的频率的限制 存储方式(本次sq ...

  2. python爬取豆瓣网评并写入excel表格中

    为了爬取网评我们需要导入几个模块 from selenium import webdriver import time import xlwt 先定义要爬取的网站url'以及设置浏览器参数 movie ...

  3. python爬取豆瓣网资源DIY影讯

    输出结果: 名字:哆啦A梦:伴我同行2,链接:https://movie.douban.com/subject/34913671/,日期:05月28日,类型:剧情 / 动画,地区:日本, 关注者:17 ...

  4. python爬取豆瓣网即将上映的电影,数据信息存储到json文件

    1,import库的安装,在我其它博文中有:获取豆瓣网即将上映的网页信息即HTML页面. 2,解析获取到的网页的数据信息 3将获取到的数据信息,放到json文件 4,主程序

  5. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  6. python爬取豆瓣影评理论依据_我用Python爬取了豆瓣的影评

    使用Python爬取豆瓣的影评,比爬取网易云简单,因为不需要设置特定的headers,关于网易云说几句,很难爬取,对请求头有着严格的要求,前几年那会还好些. 爬取结果分为:用户名,评价的星级,评论的内 ...

  7. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)

    在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...

  8. python爬虫豆瓣电影评价_使用爬虫爬取豆瓣电影影评数据Python版

    在 使用爬虫爬取豆瓣电影影评数据Java版 一文中已详细讲解了爬虫的实现细节,本篇仅为展示Python版本爬虫实现,所以直接上代码 完整代码 爬虫主程序 # 爬虫启动入口 from C02.data ...

  9. 用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)

    爬虫入门:python爬取豆瓣影评及影片信息:影片评分.评论时间.用户ID.评论内容 思路分析 元素定位 完整代码 豆瓣网作为比较官方的电影评价网站,有很多对新上映影片的评价,不多说,直接进入正题. ...

最新文章

  1. STM32cube HAL库 UART串口中断方式收发任意长度 调试笔记
  2. 译:Spring Data Repository 不区分大小写查询
  3. 入栈和出栈c语言源程序,用c语言可执行文件实现顺序栈的出栈、入栈、判栈空、判栈满!急求啊? 爱问知识人...
  4. 排球积分程序(三)——模型类的设计
  5. SAP UI5里sap.m.shell的实现
  6. [置顶]动态网页开发基础【笔记】
  7. Git开发流程和工作流
  8. java 挖矿代码_我的大脑被挖矿代码搞的不能好好思考了
  9. 深拷贝与浅拷贝深入理解
  10. POS tagging中英文对应
  11. 安装 Windows 自动化 API 3.0 时,visual Studio 2010 更快地运行
  12. Vivado exception_access_violation
  13. *第七周*数据结构实践项目二【建设链式队列算法库】
  14. 5.数据结构 --- 数组和广义表
  15. 【企业级框架整合】Springmvc+mybatis+restful+bootstrap框架整合
  16. 温习下 function pointer.
  17. C# BitConverterExt 对BitConverter的GetBytes 方法扩展
  18. Qt 并行运算高级API QtConcurrent
  19. linux 设置系统时钟,linux clock命令查看和设置硬件时钟
  20. android底部导航切换实现(md)

热门文章

  1. 华为交换机根据MAC地址禁止设备上网
  2. MSP430学习笔记(2)定时器A
  3. SpringBoot 空指针处理总结
  4. Mysql 面试实战系列(四)——快马扬鞭
  5. 阿里云学生机1年114元限时活动(24岁以下都可以购买)
  6. javaEE的13个规范
  7. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
  8. 2015 重庆市赛 解题报告
  9. 设计数据密集型应用——数据系统的未来(12 上)
  10. 七大实例巧解主板常见故障