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

news/2024/7/19 10:07:28 标签: python, 爬虫, 开发语言

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

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

前言

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

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

第三方库的安装

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

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

示例代码

python">#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_="").text
            print("用户名:",name)

            content = div.find("span", class_="short").text
            print("用户评论:",content)

            score = None
            for i in range(1,6):
                try:
                    score = s[div.find("span", class_="allstar{}0 rating".format(i))["title"]]
                except:
                    continue

            if score == None:
                score = "用户未评分"

            print("评分:",score)
            print("[+]...{}的评论已爬取".format(name))
            f.write("\n")
            f.write(str([name,score,content]))

        f.close()

效果演示

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

结尾

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


http://www.niftyadmin.cn/n/245651.html

相关文章

达梦数据库(DM)的安装教程分享

国产数据库现状 关系型数据库 Oracle 21c 银行、电力、运营商,9i,11g Sqlserver 微软,政府 Mysql 开源 分社区版和商业版 社区版免费 PostgreSQL 开源、国产数据二次开发、学术研究 informix Sybase ERP 行业 DB2 邮政、烟草 国内 武汉达梦(自…

CorelDRAW2023最新版本配置及新功能介绍

从简单的线框到令人称叹的水平,使用CorelDRAW Graphics Suite 2023开始您的设计之旅:一套完整的专业图形设计应用程序,用于矢量插图、布局、照片编辑等。CorelDRAW平面设计软件通常也被叫做CDR,CDR广泛应用于排版印刷、矢量图形编…

log4j2日志简单使用

log4j2日志使用 1、log4j2介绍 Apache Log4j2是对Log4j的升级版, log4j2借鉴了logback的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有: 1、异常处理:在logback中,Appe…

简述AutoGPT原理(提示词)

启动时需要设置三个项目:机器人名字、设定给机器人的角色、要完成的目标。 根据你的设定利用ChatGPT进行下一步的抉择,具体的,实际上归功于提示词: 下面这段提示词在干什么呢? 将设定的名字、角色、目标告诉ChatGPT&…

AutoGPT、AgentGPT、BabyAGI、HuggingGPT、CAMEL:各种基于GPT-4自治系统总结

ChatGPT和LLM技术的出现使得这些最先进的语言模型席卷了世界,不仅是AI的开发人员,爱好者和一些组织也在研究探索集成和构建这些模型的创新方法。各种平台如雨后春笋般涌现,集成并促进新应用程序的开发。 AutoGPT的火爆让我们看到越来越多的自…

Crash分析gpu非法访问地址问题

Crash分析gpu非法访问地址问题 1. 问题描述 在我司产品monkey老化过程中,极低概率出现gpu驱动访问非法地址导致kernel panic问题,在kernel panic后,主动触发ramdump机制,抓到相关的ramdump文件,利用crash工具进行离线…

18.生命周期

目录 1 开启生命周期 2 创建前 beforeCreate() 3 创建后 created() 4 渲染前 beforeMount() 5 渲染后 mounted 6 更新渲染前 beforeUpdate() 7 更新渲染后 updated() 8 移除前 beforeUnmount() 9 移除后 unmounted() 生命周期是指 一个组件从创建->运行-&…

[python][pcl]python-pcl案例之kdtree使用

测试环境: pcl1.13.0 python-pcl0.3.1 python3.7 代码: # -*- coding: utf-8 -*- from __future__ import print_functionimport numpy as np import pcldef main():points_1 np.array([[0, 0, 0],[1, 0, 0],[0, 1, 0],[1, 1, 0]], dtypenp.float32…