豆瓣电影top250信息爬取与数据分析

本文讲述了如何使用requests、bs4和re爬取豆瓣电影top250的电影信息,并将数据保存为csv文件。数据分析结果显示,电影评分主要集中在8.5到9.2之间,平均分约8.84,评分与排名呈负相关。美国电影上榜最多,剧情类电影数量领先,诺兰等导演上榜频繁,上映年份主要集中在1990年至2018年。

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

爬取豆瓣电影top250的电影信息

网页链接: https://movie.douban.com/top250

技术路线:requests - bs4 - re

输出:保存为csv格式文件

import re
import requests
from bs4 import BeautifulSoup
    
def getHTMLText(url, code="utf-8"):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = code
        return r.text
    except:
        return "爬取出错!"

def parseText(text, movieInfo):
    soup = BeautifulSoup(text, 'html.parser')
    olTag = soup.find('ol', class_='grid_view')
    details = olTag.find_all('li')
    for detail in details:
        movieRank = detail.find('em').text    #电影排名
        movieName = '《' + detail.find('span', class_='title').text + '》'    #电影名称
        movieScore = detail.find('span', class_='rating_num').text + '分'    #电影评分
        movieCommentNum = detail.find(text=re.compile('\d+人评价')).string     #评价人数
        movieReview = '"' + detail.find('span', class_='inq').text + '"'    #电影短评
        movieP = detail.find('p').text
        movieP1 = movieP.split('\n')[1]
        movieP2 = movieP.split('\n')[2]
        movieDirector = movieP1.split('\xa0')[0].strip()[4:]     #导演
        movieYear = re.findall(r'\d{4}', movieP2)[0]     #上映年份
        movieCountry = movieP2.split('\xa0/\xa0')[-2]    #制片国家
    
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值