爬取猫眼电影排名Top100的详细数据保存到csv文件

申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。

文章目录

  • 猫眼电影
  • 完整代码
  • 运行结果

猫眼电影

爬取猫眼电影排名Top100的详细数据保存到csv文件_第1张图片

完整代码

import time
import requests
import re
import csv


class MaoYanMovie:
    file = '猫眼电影排名前100.csv'

    def get_movie_rank(self, page):
        # 爬取页面的url
        url = 'https://maoyan.com/board/4?offset={}'.format(page)
        # 爬取页面的headers,最好加上User-Agent参数,指定浏览器发送请求
        headers = {
     
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0'
        }
        # 获取页面html源代码
        res = requests.get(url, headers=headers)
        res_text = res.text
        # 将正则字符串编译成正则表达式对象,方便复用
        pattern = re.compile(
            '
.*?board-index.*?>(.*?).*?data-src="(.*?)".*?data-val.*?>(.*?).*?star">(.*?)

.*?releasetime">(.*?)

.*?integer">(.*?).*?fraction">(.*?)', re.S) # 使用正则表达式获取想要的数据 items = re.findall(pattern, res_text) # 再次将数据处理干净 for item in items: index = item[0] image = item[1] title = item[2] actor = item[3].split(':')[1].strip() time = item[4].split(':')[1].strip() score = item[5] + item[6] # 将获得的数据添加到csv文件中 with open(self.file, 'a+', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerow([index, image, title, actor, time, score]) if __name__ == '__main__': # 实例化MaoYanMovie类 mao_yan_movie = MaoYanMovie() # 清空csv文件的数据 with open(mao_yan_movie.file, 'w', encoding='utf-8', newline='') as f: csv_f = csv.writer(f) csv_f.writerow(['排名', '封面图', '电影名称', '主演', '上映时间', '评分']) # 循环10次,依次爬取10页排名 for i in range(10): mao_yan_movie.get_movie_rank(i * 10) # 延迟等待1秒,防止过快造成无响应 time.sleep(1)

运行结果

爬取猫眼电影排名Top100的详细数据保存到csv文件_第2张图片
Python爬虫实战:

爬取天天基金的7663个基金排名保存到excel表

爬取CSDN作者总榜排名Top100保存到excel表

爬取哔哩哔哩主播的头像以昵称命名保存到本地文件

爬取猫眼电影排名Top100的详细数据保存到csv文件

一个坚持学习,坚持成长,坚持分享的人,即使再不聪明,也一定会成为优秀的人!

如果看完觉得有所收获的话,记得一键三连哦,谢谢大家!

你可能感兴趣的:(Python爬虫开发实战,爬虫,python,猫眼电影,csv,request)