Python爬虫实战——获取电影影评

news/2024/12/22 22:15:32/

Python爬虫实战——获取电影影评

  • 前言
  • 第三方库的安装
  • 示例代码
  • 效果演示
  • 结尾

前言

使用Python爬取指定电影的影评,
注意:本文仅用于学习交流禁止用于盈利或侵权行为。

操作系统:windows10 家庭版
开发环境:Pycharm Conmunity 2022.3
解释器版本:Python3.8
第三方库:requests、bs4

第三方库的安装

需要安装 bs4requests
你可以参考我的以下文章获取些许帮助:

Python第三方库安装——使用vscode、pycharm安装Python第三方库
Python中requests库使用方法详解

示例代码

#code:utf-8
import requests
from bs4 import BeautifulSoup
import time# 如果想多爬几页可以将16修改为更大的偶数
for i in range(2,16,2):url = 'https://movie.douban.com/subject/34841067/comments?start={}0&limit=20&status=P&sort=new_score'.format(i)headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15'}# 请求r=requests.get(url, headers=headers)# 查看状态码print(r.status_code)# 获取标题html = BeautifulSoup(r.text,"html.parser")title = html.find("h1").text# 获取用户名、评论、评分divs = html.find_all("div", class_ = "comment")s = {"力荐":"❤❤❤❤❤","推荐":"❤❤❤❤❤","还行":"❤❤❤","较差":"❤❤","很差":"❤"}with open("{}.txt".format(title),"w+",encoding="utf-8") as f:f.write(str(["用户", "评分", "内容"]))for div in divs:print("---------------------------------")name = div.find("a", class_="").textprint("用户名:",name)content = div.find("span", class_="short").textprint("用户评论:",content)score = Nonefor i in range(1,6):try:score = s[div.find("span", class_="allstar{}0 rating".format(i))["title"]]except:continueif score == None:score = "用户未评分"print("评分:",score)print("[+]...{}的评论已爬取".format(name))f.write("\n")f.write(str([name,score,content]))f.close()

效果演示

以下是控制台的输出结果:
在这里插入图片描述
会生成一个以电影名为名字的txt的文件,我们爬取到的数据全部保存在其中,如下:
在这里插入图片描述
在这里插入图片描述

结尾

这个34841067是《你好李焕英》的编码,你可以试着仅仅将这个数字更换成其他电影编码看看会是怎样的结果。
在这里插入图片描述


http://www.ppmy.cn/news/47040.html

相关文章

nginx 简介 第四章

一、Nginx简介 1、Nginx简介 Nginx(特点:占用内存少,并发能力强) Nginx是一个高性能的 HTTP 和反向代理服务器。 Nginx是一款轻量级的 Web 服务器/反向代理服务器及电子邮件 单台物理服务器可支持30 000~50 000个并发…

当,Kotlin Flow与Channel相逢

Flow之所以用起来香,Flow便捷的操作符功不可没,而想要熟练使用更复杂的操作符,那么需要厘清Flow和Channel的关系。 本篇文章构成: 1. Flow与Channel 对比 1.1 Flow核心原理与使用场景 原理 先看最简单的Demo: fun…

WMS智能仓储

子产品介绍篇--智能仓储 智能仓储 我们通常也称 WMS 系统。是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息、资源、行为、存货和分销运作进行更完美地管理,提高效率。 一. 仓储管理系统(wms)…

柔性数组【结构体和动态内存的结合】

全文目录 前言柔性数组的定义语法柔性数组的特点柔性数组的使用柔性数组的优势 前言 很多人可能没有听过柔性数组这个概念,但是在C99中柔性数组是确实存在的。我个人感觉有点像动态内存和结构体的结合。 柔性数组的定义语法 结构中的最后一个元素允许是未知大小的…

IO多路复用 学习笔记 (阻塞 IO,非阻塞IO,select 模型,poll 模型,epoll 模型)

参考了一下网络资源做的笔记 什么是IO多路复用 就是用一个线程或者一个进程监控文件描述符是否能执行 IO操作 传统网络IO - 阻塞 IO (BIO) 阻塞IO就是当我们执行一次IO操作中,整个程序是阻塞的,意味在途中我们必须等待返回才…

你了解C语言中的数组指针和函数指针吗?

如题,本篇文章重点讲解C语言中的数组指针和函数指针。这2种指针其实都不是很常用,个人感觉使用起来代码的可读性不是很高,但是还是需要了解一下。 数组指针 数组指针,即指向数组的指针,是用来存放数组的地址的。那如…

车载网络 - Autosar网络管理 - 跳转状态

四、Autosar网络管理跳转状态 网络模式对应报文状态 Autosar网络管理报文各个状态对应的网络管理报文和应用报文的发送和接收状态。 网络模式 网络管理报文 应用报文 收发类型 发送报文 接收报文 发送报文 接收报文 总线睡眠模式(BSM) No Yes No NA 准备总线睡眠模…

第14届蓝桥杯 | 冶炼金属

作者:指针不指南吗 专栏:第14届蓝桥杯真题 🐾慢慢来,慢慢来🐾 文章目录 题目代码摸索第一次 AC 5/10第二次 AC 100% 反思 题目 链接: 4956. 冶炼金属 - AcWing题库 小蓝有一个神奇的炉子用于将普通金属 O …