猫眼电影爬虫和数据分析

由于疫情关系,宅在家里。记录一下作业,猫眼电影爬虫及分析,爬取猫眼电影数据,并对爬取的数据进行分析和展示。

猫眼电影爬虫

基于requests库和lxml库进去猫眼电影TOP100榜电影爬取,爬取地址为:https://maoyan.com/board/4

爬取的信息有:电影名字,主演名字,上映时间以及地点,猫眼评分得分,电影类型,电影时长。

电影数据保存为.csv格式。表头:电影名字(title),主演名字(author),上映时间以及地点(pub_time),猫眼评分得分(star),电影类型(style),电影时长(long_time)。

import requests
from lxml import etree
import csv

headers = {
     # 设置header
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
}


def get_url(url):  # top100电影获取
    res = requests.get(url, headers=headers)  # 请求
    # print(res.text)
    html = etree.HTML(res.text)  # 获取网页源码
    infos = html.xpath('//dl[@class="board-wrapper"]/dd')  # 获取页面的10部电影,xpath
    for info in infos:
        title = info.xpath('div/div/div[1]/p[1]/a/text()')[0]  # 电影名称
        author = info.xpath('div/div/div[1]/p[2]/text()')[0].strip().strip('主演:')  # 电影主演,strip()去掉空格
        pub_time = info.xpath('div/div/div[1]/p[3]/text()')[0].strip('上映时间:')  # 上映时间
        star_1 = info.xpath('div/div/div[2]/p/i[1]/text()')[0]  # 得分1(整数部分)
        star_2 = info.xpath('div/div/div[2]/p/i[2]/text()')[0]  # 得分2(小数部分)
        star = star_1 + star_2  # 电影得分
        movie_url = 'https://maoyan.com' + info.xpath('div/div/div[1]/p[1]/a/@href')[0]  # 电影的详细页
        # print(title,author,pub_time,star,movie_url)
        get_info(movie_url, title, author, pub_time, star)  # 进入电影的详细页爬取
    print(‘保存完毕!’)


def get_info(url, title, author, pub_time, star):  # 电影详细获取
    res = requests.get(url, headers=headers)
    html = etree
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值