用Python 爬《蜘蛛侠:英雄远征》猫眼评论并分析

  • 爬取评论
    • 一、准备
    • 二、开始

爬取评论

一、准备

浏览器:火狐浏览器

运行环境:Win10/Python3.6.5。

分析工具:jieba、wordcloud、pyecharts、matplotlib。

基本流程:下载内容 —> 分析获取关键数据 —> 保存本地文件 —> 分析本地文件制作图表

本文主要参考:https://www.cnblogs.com/reader/p/10070629.html

二、开始

电影地址:https://maoyan.com/films/1198925
按F12打开火狐浏览器的开发者模式,并进入手机响应模式,选取手机型号后刷新


下滑进入评论


然后下滑评论,直到出现json格式的链接,就可以得到我们想要的信息了

爬虫代码:

# -*- coding:utf-8 -*-
import requests
import json
import time
import random
import datetime
import pandas as pddef get_data(url):'''功能:访问 url 的网页,获取网页内容并返回参数:url :目标网页的 url返回:目标网页的 html 内容'''headers = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',}try:r = requests.get(url, headers=headers)r.raise_for_status()return r.textexcept requests.HTTPError as e:print(e)print("HTTPError")except requests.RequestException as e:print(e)except:print("Unknown Error !")def parse_data(html):'''功能:提取 html 页面信息中的关键信息,并整合一个数组并返回参数:html 根据 url 获取到的网页内容返回:存储有 html 中提取出的关键信息的数组'''json_data = json.loads(html)['cmts']comments = []try:for item in json_data:comment = []comment.append(item['nickName'])comment.append(item['gender'] if 'gender' in item else '0')comment.append(item['cityName'] if 'cityName' in item else '')comment.append(item['content'].strip().replace('\n', ''))comment.append(item['score'])comment.append(item['startTime'])comment.append(item['userLevel'])comments.append(comment)return commentsexcept Exception as e:print(comment)print(e)def save_data(comments):'''功能:将comments中的信息输出到文件中/或数据库中。参数:comments 将要保存的数据'''filename = '蜘蛛侠.csv'dataframe = pd.DataFrame(comments)dataframe.to_csv(filename, mode='a', encoding='utf-8',index=False, sep=',', header=False)def main():'''功能:爬虫调度器,根据规则每次生成一个新的请求 url,爬取其内容,并保存到本地。'''start_time = datetime.datetime.now().strftime('%Y-%m-%d  %H:%M:%S')end_time = '2019-06-28 00:00:00'  # 电影上映时间,评论爬取到此截至while start_time > end_time:# 不太懂为啥链接的格式是这样的url = 'http://m.maoyan.com/mmdb/comments/movie/1198925.json?_v_=yes&offset=0&startTime=' + start_time.replace('  ', '%20')  # 不同的电影可以直接改编号就可以用这个程序爬了,比如将1198925改为1218141 html = Nonetry:html = get_data(url)time.sleep(random.random())except Exception as e:time.sleep(0.5)html = get_data(url)else:time.sleep(0.1)comments = parse_data(html)# print(url)start_time = comments[14][5]print(start_time)start_time = datetime.datetime.strptime(start_time, '%Y-%m-%d  %H:%M:%S') + datetime.timedelta(seconds=-1)start_time = datetime.datetime.strftime(start_time, '%Y-%m-%d  %H:%M:%S')save_data(comments)if __name__ == '__main__':main()print("完成!!")


太晚了,数据分析明天再写!

用Python 爬《蜘蛛侠:英雄远征》猫眼评论并分析相关推荐

  1. 阿凡达时隔十年重映,王者归来还是炒冷饭?Python爬取上千条评论并分析

    [CSDN 编者按]<阿凡达>十年后再次重映,果不其然话题量十足,可能这就是神级影片的召唤力吧.在怀旧的氛围中,我们得以重新审阅这部曾经的现象级.划时代的作品. 作者 | 刘早起      ...

  2. python爬取b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  3. python爬取微博评论并做词频分析_爬取李子柒微博评论并分析

    爬取李子柒微博评论并分析 微博主要分为网页端.手机端和移动端.微博网页版反爬太厉害,因此选择爬取手机端. 1 需求 爬取李子柒微博中视频的评论信息,并做词频分析. 2 方法 2.1 运行环境 运行平台 ...

  4. python爬取当当网商品评论

    python爬取当当网商品评论 本案例获取某鞋评论作为例 案例目的: 通过爬取当当网商品评价,介绍通过结合jsonpath和正则表达式获取目标数据的方法. 代码功能: 输入爬取的页数,自动下载保存每页 ...

  5. python爬取英雄联盟手游的全英雄皮肤 初识selenium

    python爬取英雄联盟手游的全英雄皮肤 前言 分析页面 具体代码 下载工具类 获取英雄列表的每个英雄 获取英雄皮肤链接并下载 完整代码 成果 总结 前言 近期这个鸽了好久的英雄联盟手游终于上线了,虽 ...

  6. python爬取苏宁商品评论

    python爬取苏宁商品评论 爬取其他电商物品评论的案例如下: https://blog.csdn.net/coffeetogether/article/details/114296159 https ...

  7. python爬取网易云音乐评论分析_python爬取网易云音乐评论

    本文实例为大家分享了python爬取网易云音乐评论的具体代码,供大家参考,具体内容如下 import requests import bs4 import json def get_hot_comme ...

  8. python爬b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  9. Python爬取英雄联盟全皮肤

    Python爬取英雄联盟皮肤 打开英雄联盟官网:https://lol.qq.com,点击游戏资料,按F12进入开发者模式.刷新,找到hero_list.js,里面有我们需要的网址以及其他信息. 代码 ...

最新文章

  1. 处理linux 下nbu只能找到一个驱动器
  2. 面试时真能“坦白从宽”?
  3. SQL语句添加删除修改字段
  4. transformer架构的理解
  5. 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
  6. 流程制造项目中关于销售订单数量与实际产生数量不同时的解决方案
  7. 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
  8. YunOS曙光初现----看好阿里云OS----阿冬专栏!!
  9. Android textwatcher监听文本框输入变化
  10. python爬虫,以某小说网站为例
  11. mysql查询同时选修了两门_查找同时选修了C01及C02两门课程的学生姓名及学号
  12. AirServer投屏轻松地将iPhone、iPad投屏到Mac上面教程
  13. CPU飙升到100%问题排查
  14. Android蓝牙通讯(服务端、客户端)
  15. 制造上云 佛山南海携手阿里云建创新中心
  16. 我辞职了准备系统学习新知识和技提升自己
  17. python全角数字_python 半角全角的相互转换
  18. python 采用to_csv保存数据不覆盖原有数据到文件中
  19. 基于动态时间规整算法(DTW)的语音识别技术研究-含Matlab代码
  20. 汽车厂商对高通骁龙820A系统平台的支持

热门文章

  1. php eteams,应用安全 - 软件漏洞 - 泛微OA漏洞汇总
  2. 1237. 回旋镖的数量
  3. 多旋翼飞行器电机转动方向大全
  4. IOS真机调试包 iOS15.0
  5. 跟寻智能色选机,一起探索神秘的色彩世界
  6. 聊一聊CSS3的渐变——gradient
  7. 解决Vue中的生命周期beforeDestory不触发的问题(用了keep-alive)
  8. 解读RF放大器规格:输出电压/电流和1dB压缩点
  9. qq自定义diy名片代码复制_「正点原子FPGA连载」第六章自定义IP核-呼吸灯实验
  10. 2023注会电子版教材