Python爬虫实训 数据挖掘 数据分析(豆瓣《霸王别姬》短评)

该博客详细介绍了使用Python爬虫从豆瓣电影中抓取《霸王别姬》的用户短评,包括获取第一页及多页数据、将数据保存到Excel文件,以及进行数据预处理和分析,特别是各类评论的星级占比统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《霸王别姬》短评

目标URL: https://movie.douban.com/subject/1291546/comments?status=P

首先安装两个模块:

pip install jieba -i https://pypi.douban.com/simple
pip install wordcloud -i https://pypi.douban.com/simple

爬取数据

Excel表格要获取的内容:用户名、点赞数、星级、时间、短评内容

1)获取第一页数据

(用户名、点赞数、星级、时间、短评内容)

Code:

在这里插入图片描述

运行结果:
在这里插入图片描述

2)使用xlwt、openpyxl模块写入excel文件

Code:

在这里插入图片描述

运行结果:
在这里插入图片描述

3)尝试获取多页的数据

  • 添加cookie

  • 尝试获取多页的数据,并添加异常捕获机制。

    • 针对响应:排除某一页爬取时被截获
    • 有下一页时的Element:

    image.png

    • 无下一页时的Elements:

    image.png

    判断有无下一页:

    def parse_data(resp):
        '''解析响应'''
        ...
        res = html.xpath('//*[contains(@id, "paginator")]/a[contains(@class, "next")]')
        if not res:
            print('下一页已经没有内容了...')
            return None
        else:
            # 返回数据
            return True
    

    补充:星级也要做对应的处理,不然会混入奇怪的字符:m

    if star.isalpha():  # 有些用户没有给星级
        star = '0'    
    

完整代码:

import requests
from lxml import etree
import openpyxl
import time

url = 'https://movie.douban.com/subject/1291546/comments?'

headers = {
   
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/90.0.4430.212 Safari/537.36 ',
    'Cookie': '_vwo_uuid_v2=D21A90EEC60A84B63D467FE996BB1DF1D|12adfdc440b6565a76940f86fc6a8472; douban-fav-remind=1; '
              'll="118283"; bid=1MCaZCO3JIA; __yadk_uid=TkyAIhUGdwemFLKFoOVBKys5VHsdSjsr; '
              '__gads=ID=4018de559e3adebb-22be7e1fccc60064:T=1616471893:RT=1616471893:S=ALNI_Maoo2'
              '-1ph1qkwk3DfdPpnN1xqoiQA; '
              '_vwo_uuid_v2=D21A90EEC60A84B63D467FE996BB1DF1D|12adfdc440b6565a76940f86fc6a8472; __utmc=30149280; '
              '__utmc=223695111; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1621742461%2C%22https%3A%2F%2Fcn.bing.com'
              '%2F%22%5D; _pk_ses.100001.4cf6=*; dbcl2="218934882:7Y/YTUP8/mk"; ck=yFqV; '
              '__utma=30149280.848034361.1580634472.1621734964.1621742494.28; __utmb=30149280.0.10.1621742494; '
              '__utmz=30149280.1621742494.28.22.utmcsr=accounts.douban.com|utmccn=('
              'referral)|utmcmd=referral|utmcct=/; __utma=223695111.597269736.1580634472.1621734964.1621742494.27; '
              '__utmb=223695111.0.10.1621742494; '
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值