分布式消我爬取豆瓣10万短评,告诉你《复仇者联盟4》在讲什么?
前言
昨晚,焚香、沐浴、更衣!怀着朝圣般的心情。就像灭霸一样!去看了妇联4的终局之战。不得不说,票价有点小贵,整体效果还算可以,就是剧情有点懵逼。中间眯了几下(时长真的有点长),本来想玩玩手机,环顾四周看大家都这么认真的样子,默默的收了起来,请原谅我这小白。
截止目前,《妇联4》已上映2天,今晚累计票房突破 10 亿应该是妥妥的,豆瓣评分 9.0 分。
爬取
主要是想知道这爆米花电影(其实,环顾四周没有一个人吃爆米花)大家都有什么评价,这里主要是爬取《妇联4》的好、中、差短评并分词分析。
爬取数据:
__author__ = 小柒
__blog__ = https://blog.52itstyle.vip/
import os
# 导入requests库
import requests
# 导入文件操作库
import codecs
from bs4 import BeautifulSoup
# 给请求指定一个请求头来模拟chrome浏览器
global headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
'cookie': 'networkwww.douban.comheaders查看cookie'}
# 好评,中评,差评
# https://movie.douban.com/subject/26100958/comments?start=0limit=20sort=new_scorestatus=Ppercent_type=h
# https://movie.douban.com/subject/26100958/comments?start=0limit=20sort=new_scorestatus=Ppercent_type=m
# https://movie.douban.com/subject/26100958/comments?start=0limit=20sort=new_scorestatus=Ppercent_type=l
server = 'https://movie.douban.com/subject/26100958/comments'
# 定义存储位置
global save_path
save_path = os.getcwd()+\\Text\\+'复仇者联盟4短评_好评.txt'
global page_max
# 好评 自行计算页码
page_max = 252 # 500 短评论,后面就看不到了,不知道是否豆瓣有意而为之给隐藏了,哈哈哈原来是没登录导致的。
global comments
comments = ''
# 获取短评内容
def get_comments(page):
req = requests.get(url=page)
html = req.content
html_doc = str(html, 'utf-8')
bf = BeautifulSoup(html_doc, 'html.parser')
comment = bf.find_all(class_=short)
for short in comment:
global comments
comments = comments + short.text
# 写入文件
def write_txt(chapter, content, code):
with codecs.open(chapter, 'a', encoding=code)as f:
f.write(content)
# 主方法
def main():
for i in range(0, page_max):
try:
page = server + '?start='+str(i*20)+'limit=20sort=new_scorestatus=Ppercent_type=h'
get_comments(page)
write_txt(save_path, comments, 'utf8')
except Exception as e:
print(e)
if __name__ == '__main__':
main()
最终爬取完成,好评文件居然有足足的 200MB,而中评和差评加起来才 20MB 左右。
分析数据:
使用结巴中文分词第三方库来进行高频分析。
import jieba
import os
txt = open(os.getcwd()+\\Text\\+复仇者联盟4短评_差评.txt, r, encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(0, 10):
word, count = items[i]
print({0:6}{1:6}.format(word, count))
词云图
差评:
中评:
差评都不带一个脏字,好评就不再贴了(真正原因是分词统计的时候内存爆掉了)。
小结
如果你不是漫威的迷,劝你还是不要去了。突然某个情节周围一片欢呼,会让你觉得自己是个傻子,对,我就是那个傻子!!!
转载于:https://juejin.im/post/5cc695ecf265da03ad055d54
分布式消我爬取豆瓣10万短评,告诉你《复仇者联盟4》在讲什么?相关推荐
- 爬取豆瓣头号玩家短评
目标链接:https://movie.douban.com/subject/4920389/comments?start=0&limit=20&sort=new_score&s ...
- python爬取豆瓣电影并分析_Python爬取豆瓣电影的短评数据并进行词云分析处理
前言 对于爬虫很不陌生,而爬虫最为经典的案例就是爬取豆瓣上面的电影数据了,今天小编就介绍一下如果爬取豆瓣上面电影影评,以<我不是药神>为例. 基本环境配置 版本:Python3.6 相关模 ...
- Python爬取近10万条程序员招聘数据,告诉你哪类人才和技能最受热捧!
来源:凹凸数据 本文约5800字,建议阅读15分钟 本文带你了解当下企业究竟需要招聘什么样的人才?需要什么样的技能? 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于& ...
- python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...
def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...
- 请访问豆瓣电影网站,爬取4~10部电影信息(电影名、导 演、演员、海报url链接,预报片视频链接),并结合GUI界面展现电影信息,并可以根据选择的电影名, 下载指定预告片视频到本地并显示预告片。GUI
请访问豆瓣电影网站,爬取4~10部电影信息(电影名.导 演.演员.海报url链接,预报片视频链接),并结合GUI界面展现电影信息,并可以根据选择的电影名, 下载指定预告片视频到本地并显示预告片.GUI ...
- 网络爬虫实战(三):爬取豆瓣、猫眼流浪地球数万条评论信息
春节如约而至,随着消费水平的提高,越来越多的人们走进电影院,观看春节档电影.去看啥电影,先看看网友们的评分评论也是非常有必要的,于是前几天遍想到用爬虫去爬取一些有用的信息. 爬取豆瓣电影评论 可以看得 ...
- Python网络爬虫:利用正则表达式爬取豆瓣电影top250排行前10页电影信息
在学习了几个常用的爬取包方法后,转入爬取实战. 爬取豆瓣电影早已是练习爬取的常用方式了,网上各种代码也已经很多了,我可能现在还在做这个都太土了,不过没事,毕竟我也才刚入门-- 这次我还是利用正则表达式 ...
- Python手记-10:Beautiful Soup爬取豆瓣经典书单
目录 1. Beautiful Soup简介 2. Beautiful Soup简单使用 2.1 对象种类 2.2 遍历文档树 2.2.1 子节点 2.2.2 父节点 2.2.3 兄弟节点 2.2. ...
- python爬取豆瓣电影信息数据
题外话+ 大家好啊,最近自己在做一个属于自己的博客网站(准备辞职回家养老了,明年再战)在家里 琐事也很多, 加上自己 一回到家就懒了(主要是家里冷啊! 广东十几度,老家几度,躲在被窝瑟瑟发抖,) 由于 ...
- Scrapy爬取豆瓣分类电影
由于毕业设计推荐系统需要大量电影信息数据,从豆瓣电影爬取了一万多条电影数据,记录一下第一次爬数据,同时感谢豆瓣电影平台提供的数据. 爬取思想:豆瓣选电影页面用的是JS动态渲染,用谷歌浏览器查看点击加载 ...
最新文章
- linux中vi写java,Linux编辑器vi使用方法详细介绍
- CodeForces - 632E Thief in a Shop 完全背包
- 使用Guava的AbstractInvocationHandler正确完成代理
- poj 1789 TruckHistory 最小生成树 Kruskal、Prim
- 使用haproxy做负载均衡时保持客户端真实的IP
- lua 函数回调技巧
- 数据交互什么意思_学习编程怎么样才可以不枯燥?什么是前端语言?
- iOS中控制器的实践和学习(3)-简易5图之A2
- 物联网应用中的数字孪生——一种实现物联网数字孪生的全面的解决方案
- win10计算机管理看不见蓝牙,如何解决Win10设备管理器找不到蓝牙?
- 东北大学金工实习考试题库
- 提问的智慧( 中文阅读笔记)#
- 十分钟自动执行一次_十分钟上手BDP,简单好用的数据分析神器
- linux测试dvi接口,支持Linux系统的高清DVI采集卡推荐
- 基于SOME/IP的AP AUTOSAR实战步骤
- C语言 输入一个整数n,求出其阶乘
- 根据当前日期进行以下方面的处理: 1、取得日期的年份、月份、天、时、分、秒,并转换成大写日期格式 如:2013年8月17日 20时30分20秒 2、根据日期的不同时间段,做问候语: 早上8:00-12
- Spark学习痛点和路线图
- IOS 自动化配置踩坑(一)
- 做人的基本原则(看完终身受益)