爬取豆瓣电影前十页的好评一般差评

分析一波

爬取的地址:https://movie.douban.com/subject/26588308/comments

分别找出好评、一般、差评的评论:

image-20211130154457028

  • 通过地址栏分析,评论的类型和percent_type有关
    • 好评为h
    • 一般为m
    • 差评为l

image-20211130154726703

但是我们想找的是在全部里面寻找好评一般和差评,所以这种方法就不适用了。

但是我们发现每个评论都会有小星星,星星的个数就可以区分评论的类型了。

  • 好评为5颗星或4颗星
  • 一般为3颗星
  • 差评为2颗星或者1颗星

image-20211130155101034

这里对应的标签为span(class就是星星的个数)

image-20211130155249923

所以可以获取到每一个comment-item,然后判断里面allstarXX是多少,再把评论分类就可以了。

代码

#找出10页里的好评,一般或差评
import urllib.request
from bs4 import BeautifulSoup
import timeabsolute = "https://movie.douban.com/subject/26588308/comments"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36',
}
comment_list_h = []  #好评
comment_list_m = []  #一般
comment_list_l = []  #差评#解析html
def get_data(html):soup = BeautifulSoup(html,'lxml')if soup.string != None:return 0else:div = soup.findAll(name="div",attrs={"class": "comment-item"})  #这里使用find_all不行for each in div:if each.find("span",attrs={"class":"allstar50"}) or each.find("span",attrs={"class":"allstar40"}):textword_h = each.find("span",attrs={"class":"short"}).textcomment_list_h.append(textword_h)if each.find("span",attrs={"class":"allstar30"}):textword_m = each.find("span", attrs={"class": "short"}).textcomment_list_m.append(textword_m)if each.find("span",attrs={"class":"allstar20"}) or each.find("span",attrs={"class":"allstar10"}):textword_l = each.find("span", attrs={"class": "short"}).textcomment_list_l.append(textword_l)#获取HTML
def get_html(absolute,i):url = absolute + '?start=' + str(i) + '&limit=20&status=P&sort=new_score'print(url)request = urllib.request.Request(url=url, headers=headers)html = urllib.request.urlopen(request).read().decode("UTF-8")flag = get_data(html)if flag == 0:return 0#将数据写入文件
def save_txt(h,m,l):with open("comment_type.txt","w",newline='',encoding="utf-8") as f:j = 1f.write('好评:')f.write("\n")for i in h:f.write('('+ str(j) + ')' +i)f.write("\n")j+=1f.write('一般:')f.write("\n")k = 1for i in m:f.write('(' + str(k) + ')' + i)f.write("\n")k += 1f.write('差评:')f.write("\n")p = 1for i in l:f.write('(' + str(p) + ')' + i)f.write("\n")p += 1if __name__ == '__main__':i = 0for j in range(0,10):flag = get_html(absolute,i)time.sleep(2)i += 20if flag==0:breaksave_txt(comment_list_h,comment_list_m,comment_list_l)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63558.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

豆瓣电影当中的电影详情数据

打开豆瓣电影,点击当中的排行榜,相应的类型选择为喜剧类型,当前的数据如果不使用数据解析来实现的话,会不会通过阿贾克斯请求来请求到json形式相应的电影数据呢? 当滚轮拖动到底部的时候,发现滚轮很快就变动…

针对豆瓣TOP前250电影做的简单的数据分析~

~~~~~~内容参考如下使用python抓取豆瓣top250电影数据进行分析 - 简书 https://www.jianshu.com/p/720b193a5c2b #导入库,三大常用数据分析库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib#读取保存本地的excel文件…

电影评分数据集的分析

目录 数据集的获得使用工具项目流程 数据集的获得 进入该网址:https://grouplens.org/datasets/movielens/ 找到如下part: 点击ml-100k.zip进行数据集的下载 在本地解压后,将会看到如下内容: 但我们目前只需要三个文件&#…

爬取豆瓣电影的评论

好久没有爬虫了,今天突然叫爬豆瓣,有点懵了,不过看了看以前爬的,一葫芦画瓢整了一个这个。bs4和requests yyds! 分析一波 爬取的地址:https://movie.douban.com/subject/26588308/comments 每次翻页可以看到…

2020 豆瓣电影榜单出炉,直接在豆瓣上看电影吧

公众号后台回复“图书“,了解更多号主新书内容 作者:苏生不惑 来源:苏生不惑 一晃又到了年底,2020年就要结束了(你的小目标完成了吗),一年一度的豆瓣电影榜单也出炉了https://movie.douban.com/…

豆瓣Top250电影数据分析报告

我的其他数据分析报告:求职指南——数据分析职位解析 【Python3】Requests+正则表达式+multiprocessing爬虫并存入MySQL数据库 一、分析背景及目的 豆瓣对Top250电影的定义: 豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及…

爬取豆瓣电影分类排行榜

确定目标网址:豆瓣电影排行榜 使用Google浏览器打开目标网址,右侧选择分类“传记”,按F12打开开发者工具,会打开如下界面:左侧是数据内容,右侧是网页源代码信息。注:由于该页面是动态的&#x…

豆瓣top250电影数据分析

分析背景及目的 豆瓣电影 Top 250定义:豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 Top 250。 本文对于"好评电影"(豆瓣电影top250)的影片评分,上映…

Python对豆瓣电影Top250并进行数据分析

由于CSDN审核机制,导致原文章无法发出,故修改了相关词汇,并改为两篇问章发布。 数据获取 翻页操作 观察可知,我们只需要修改start参数即可 headers字段 headers中有很多字段,这些字段都有可能会被对方服务器拿过来进…

你知道豆瓣电影是怎么评分的吗?

「关注我,和我一起放下灵魂,让灵魂去搬砖。」 作者:小一 介绍:放不下灵魂的搬砖者 全文共6673字,阅读全文需17分钟 Python版本3.8.0,开发工具:Pycharm 写在前面的话: 如果你是因为看…

豆瓣电影TOP250数据分析

本文使用的语言为Python, 用到的几个模块有:BeautifulSoup(爬数据),pandas(数据处理),seaborn(可视化),部分图表由Tableau生成。 1. 数据获取 计划要抓取的…

豆瓣高分电影信息分析(数据分析)

豆瓣高分电影信息分析(数据分析) 1、数据抓取 数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为:现成数据;自己写爬虫去爬取数据;使用现有的爬虫工具爬取所需内容,保存到数据库&am…

豆瓣电影评分分析(数据分析)

本文主要通过对豆瓣电影爬取的数据进行的简要分析,观察得出各部分之间对应的关系影响。 一.数据抓取 我们要想进行数据分析,首先就要通过爬虫对分析对象网页的数据爬取保存,可以保存到数据库或者文件形式到本地,这里我是保存在表…

人类禁止进入的“微博”,我的AI机器人在那里吹牛,“勾搭”AI小姑娘

最近球友推荐了一个非常有趣的网站,叫“奇鸟”(https://chirper.ai/zh)。 简单来说,这是一个AI专属的微博,人类禁止发言,但是你可以创建一个叫“奇鸟”的机器人代理,让它在里边发帖,…

OpenAI 的嵌入 API太慢了吗?探索其他嵌入模型和服务的优势

这篇文章讨论了机器学习模型的延迟对聊天应用和代理的用户体验的影响,重点关注了生成语言模型(LLM)的提示生成过程中的语义搜索任务。文章比较了两种嵌入API 服务(OpenAI 和 Google)和几种开源嵌入模型(sen…

chatgpt赋能python:Python怎么Import自己写的SEO文章

Python怎么Import自己写的SEO文章 如果你是一位Python开发人员,并且正在为SEO优化而努力编写文章,那么你可能会想知道如何将自己编写的SEO文章导入您的程序中以便更好的利用。 在这篇文章中,我们将介绍如何使用Python中的import语句将自己编…

什么是全景地图?

如果问什么是全景图,那应该很多人都能回答上来。那么要是问什么是全景地图,估计很多人就不清楚了。然而我们在想要知道全景地图是怎么做的时候,就必须要知道什么是全景地图,那么这篇文章就告诉大家什么是全景地图。 全景地图也经…

全景图为何如此受欢迎/

为何全方位全景和720度全景这般受欢迎?今日我来给各位朋友科谱答疑解惑:说白了3d全景,便是运用全景和虚拟现实技术技术性,在互联网技术完成可720度无死角收看的呈现方式。从现阶段的实例来讲,3d全景除开在游戏娱乐行业得到巨大的…

教你一招,如何将vr网站中的360全景图图片和全景漫游文件下载到本地电脑

如果你打开vr全景平台,看到好的作品想将360全景图片下载保存到本地,直接右键另存是下载不下来的,因为上传的图片已经过服务器端碎片化处理,在浏览器端访问时通过js脚本动态的加载碎片组合成全景漫游的效果,那么将全景图…