爬虫【5】爬虫猫眼电影100榜单并保存到csv

Python爬虫实战 | (1) 爬取猫眼电影官网的TOP100电影榜单 在本篇博客中,我们将使用requests+正则表达式来爬取猫眼电影官网的TOP100电影榜单,获取每部电影的片名,主演,上映日期,评分和封面等内容。 打开猫眼Top100,分析URL的变化:发现Top100榜总共包含10页,每页10部电影,并且每一页的URL都是有规律的,如第2页为https://maoyan.com/board/4?offset=10,第三页为https://maoyan.co... 阅读详情

爬虫【5】爬虫猫眼电影100榜单并保存到csv

爬虫回顾:

网页URL分析

首先我们打开猫眼电影,经到榜单这一页
在这里插入图片描述
我们可以发现它的url是这样的https://maoyan.com/board/4?offset=0
通过分析我们可以知道/board表示榜单,offset表示页数。进入到第二页发现offset变为20,由此可以发现offset的规律

分析网页html并编写正则项

接下来我们右击打开网页源代码,ctrl+a ctrl + c 复制到vscode中打开,右击代码格式化我们就可以得到整整齐齐的
的网页源代码喽!
对网页源代码进行分析发现一个网页的信息是包含在一个<dd></dd>里的

<dd>
    <i class="board-index board-index-3">3</i>
    <a href="/films/4055" title="这个杀手不太冷" class="image-link" data-act="boarditem-click"
        data-val="{movieId:4055}">
        <img src="//s3plus.meituan.net/v1/mss_e2821d7f0cfe4ac1bf9202ecf9590e67/cdn-prod/file:5788b470/imag
            alt="" class="poster-default" />
        <img data-src="https://p1.meituan.net/movie/6bea9af4524dfbd0b668eaa7e187c3df767253.jpg@160w_220h_1
            alt="这个杀手不太冷" class="board-img" />
    </a>
    <div class="board-item-main">
        <div class="board-item-content">
            <div class="movie-item-info">
                <p class="name"><a href="/films/4055" title="这个杀手不太冷" data-act="boarditem-click"
                        data-val="{movieId:4055}">这个杀手不太冷</a></p>
                <p class="star">
                    主演:让·雷诺,加里·奥德曼,娜塔莉·波特曼
                </p>
                <p class="releasetime">上映时间:1994-09-14(法国)</p>
            </div>
            <div class="movie-item-number score-num">
                <p class="score"><i class="integer">9.</i><i class="fraction">5</i></p>
            </div>
        </div>
    </div>
</dd>

在里面可以发现我们需要的排名,电影名,主演,上映时间
所以我们可以写出我们的正则,这个我写的正则也不是唯一的和我的有一定的差距都可以
'<dd>.*?board-index-(.*?)".*?<img data-src=.*?alt="(.*?)".*?<p class="star">(.*?)</p>.*?"releasetime">(.*?)</p>.*?</dd>'
主要的思路就算把我们要的东西分组出来就ok了

csv文件

将爬取下来的内容保存到csv文件中就ok啦
在这里插入图片描述

代码

废话就不多说了,下面上代码,代码写了注释,应该可以看懂,还是比较简单的

from urllib import request
import re, time, random, csv
from fake_useragent import UserAgent


class MaoyanSpider:
    def __init__(self):
        self.url = 'http://maoyan.com/board/4?offset={}'
        
    def get_url(self, offset):
        """
        获取url
        """
        return self.url.format(offset)

    def get_headers(self):
        """
        获取伪造的User-Agent
        """
        ua = UserAgent()
        return {'User-Agent': ua.random}

    def get_html(self, headers, offset):
        """
        获取html信息
        """
        url = self.get_url(offset)
        print(url)
        res = request.Request(url, headers=headers)
        req = request.urlopen(res)
        html = req.read().decode()
        return html

    def pattern_html(self, html):
        """
        获取正则匹配的内容
        """
        pattern = re.compile(
            '<dd>.*?board-index-(.*?)".*?<img data-src=.*?alt="(.*?)".*?<p class="star">(.*?)</p>.*?"releasetime">(.*?)</p>.*?</dd>',
            re.S)
        return pattern.findall(html)

    def save_csv(self, moives):
        """
        讲内容保存到csv中
        """
        L = []
        with open('mouyan.csv', 'a') as f:
            writer = csv.writer(f)
            for r in moives:
                ranking = r[0].strip()
                name = r[1].strip()
                star = r[2].strip()[3:]
                time = r[3].strip()[5:15]
                L.append((ranking, name, star, time))
                print(ranking, name, time, star)
            # 在for循环外面
            writer.writerows(L)

    # 主运行函数
    def run(self):
        for i in range(1, 11):
            offset = (i - 1) * 10
            headers = self.get_headers()
            html = self.get_html(headers, offset)
            movies = self.pattern_html(html)
            self.save_csv(movies)
            time.sleep(random.randint(9,13))


if __name__ == '__main__':
    maoyan = MaoyanSpider()
    maoyan.run()

【爬虫实战】python入门爬取猫眼电影排行 应用场景:1、抓取特定网站或应用的内容,提取出有价值的信息。2、模拟用户在浏览器或应用中的操作,实现自动化流程。爬虫是什么专业术语:网络爬虫(又称网页蜘蛛、网络机器人)网络爬虫是一种自动按照特定规则抓取网页信息的程序或脚本。爬虫起源随着网络的迅猛发展,万维网成为海量信息的载体,如何有效地提取和利用这些信息成为一项巨大挑战。搜索引擎如Yahoo、Google、百度等,作为帮助人们检索信息的工具,成为用户访问万维网的入口和指南。 阅读详情

相关推荐

python爬虫 猫眼电影数据csv和mysql存储过程解析

这篇文章主要介绍了python爬虫 猫眼电影数据csv和mysql存储过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1 # 去掉左右空格 2 'hello world'.strip() # 'hello world' 3 # 按指定字符切割 4 'hello world'.split(' ') # ['hello','world'...

lamehd的博客 1229

爬取猫眼top100电影并存储在本地csv文件中

猫眼电影 TOP100爬虫程序

zhaotun123的博客 2327

python3爬取猫眼电影排行代码

爬取猫眼电影排行最短的代码,简单易懂,适合初学者参考学习,不足之处多多指教

【Python爬虫】爬取猫眼电影排行榜并存放至csv文件

在进行本节实战之前,希望您对requests库以及正则表达式有所了解。 运行平台:windows Python版本: Python3.x 一、依赖库的安装 在本节实战之前,请确保已经正确安装了requests库 requests库的安装 pip3 install requests 如果您使用的是conda环境,可以选择使用以下安装方法 conda install ...

Ericam_ 5147

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1598

饥荒联机版Mod开发——modmain环境与API深度解析

本文深入解析饥荒联机版Mod开发中的modmain.lua环境与核心API,详细讲解环境表构建原理、API注册与调用时机,并提供高级开发技巧与最佳实践。通过源码分析和实际案例,帮助开发者掌握Mod开发核心技术,解决常见问题,提升开发效率与代码质量。

weixin_30312563的博客 436

Python爬取新版猫眼Top100电影系列数据,并保存到csv文件

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 开发工具 python 3.6.5 pycharm import requests import parsel import time import csv 相关模块pip安装即可 爬虫基本流程 1.确定url地址(网页分析) 完成一半 2.发送网络请求 requests(

人生苦短, 还不用Python? 2933

并行计算:从概念起源到多层次架构设计及其发展历程的全面解析

20世纪70年代,第一台并行计算机于1972年产生(ILLIAC IV,伊利诺依大学),由64个处理器组成,可扩展性好,但可编程性差。如有21亩地需要除草,一个人一天只能除一亩地的草,那么需要21天才能除完草,这在现实中是不太可能的,因庄稼是有时间段的。其二是机群系统是高性能计算机的一种,它的技术基础和工业基础都是商品化和标准化。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板、内存板和I/O板,甚至操作系统,都是不能在其它系统中使用的。

1654

爬取猫眼电影排行榜TOP100数据 --存入csv

爬取猫眼电影网站电影排行榜TOP100数据流程 流程 确认页面是动态还是静态:在源码搜索关键字看是否能找到 查看排行榜页面查询字符串中翻页的规律:规律为:offset=(page-1)*10 进入页面源码:右键点击查看元素,复制下需求数据的标签块,如下 <p class="name"><a href="/films/1228" title="天空之城" data-act="b...

yutaixin的博客 1306

车载网络测试实操源码_使用CAPL脚本实现安全访问解锁,并模拟各种测试场景

在车载诊断中,我们经常会使用到安全访问解锁,常见的场景包括软件刷写前、通过2E服务写入某个DID前、通过31服务执行某个例程前等,都必须先通过27服务进行安全访问,解锁相应安全等级后才能执行上述操作。在开发调试或测试时,有时候需要模拟正常的安全解锁、安全访问秘钥错误、连续多次请求安全访问等,手动操作极为不便。本文将介绍如何使用CAPL脚本实现安全访问解锁,并模拟各种测试场景。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1202

Android 13.0 双屏时触摸失效问题排查与修复

摘要:本文记录了RK3588 Android12开发板上主屏触摸失效问题的排查与解决过程。通过分析发现,USB触摸设备被错误关联到辅屏(displayId=3)而非主屏(displayId=0)。解决方案是修改TouchInputMapper.cpp,强制触摸设备使用INTERNAL viewport(主屏),并保持设备在viewport不活跃时仍启用。该修改涉及约40行代码,有效解决了多显示器环境下触摸设备错误映射的问题,同时提供了详细的调试方法和注意事项。

ip0417的博客 354

爬取猫眼电影前100保存到本地csv文件

python爬虫–爬取猫眼电影前100保存到本地csv文件 环境:Windows10 版本:python3 成果: 代码: from urllib import request import re import time import random from fake_useragent import UserAgent # from . import useragents import csv class MaoyanSpider(object): def __init__(self):

qq_42404383的博客 1160

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

【Python爬虫五十个小案例】爬取猫眼电影Top100

通过本篇博客,我们展示了如何使用Python爬虫技术抓取猫眼电影Top100的数据,并进行简单的数据清洗与分析。除了数据抓取和分析,我们还学习了如何应对反爬虫机制。通过这些知识,我们可以很好的进行后续的数据分析,或者可以查看自己喜欢哪个电影,当然本节主要还是为了练手,为了后续我们进行其他项目任务Python爬虫五十个小案例:https://blog.youkuaiyun.com/null18/category_12840403.html?

null18的博客 6890

注意力机制模块:CVPR 2026 新宠:MLLA(多尺度线性注意力)即插即用,在 YOLO 和 ConvNeXt 上全面涨点

MLLA核心创新点与实践价值摘要(146字) 清华大学LeapLab团队通过解构Mamba模型,发现其核心优势源于遗忘门机制与块设计,而非传统SSM架构。基于此提出的MLLA模块创新性地将这两项设计融入线性注意力框架:1)用位置编码替代循环计算保留遗忘门的位置感知能力;2)通过门控投影+DWConv+MLP重构高效块结构。在COCO检测任务中,MLLA使小目标AP提升11.6%而仅损失6%FPS,支持ONNX/TensorRT全链路部署,代码已开源。该工作为高分辨率视觉任务提供了近乎零代价的性能提升方案。

ZXSXJ的博客 155

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4500

Python爬虫从入门到精通——爬虫实战:爬取猫眼电影排行Top100

本文为实战篇,需提前学习[《Python爬虫从入门到精通》基本库requests的使用和正则表达式的内容。我们需要抓取的目标为猫眼电影-榜单-TOP100榜,其地址为:[https://maoyan.com/board/4](https://maoyan.com/board/4)。我们希望爬取各个电影的排名、名称、主演、上映时间、上映地区等信息。最后保存为一张Excel表格。

冯·诺依曼 4万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【爬虫实战】01 入门爬取猫眼电影排行

应用场景:1、抓取特定网站或应用的内容,提取出有价值的信息。2、模拟用户在浏览器或应用中的操作,实现自动化流程。爬虫是什么专业术语:网络爬虫(又称网页蜘蛛、网络机器人)网络爬虫是一种自动按照特定规则抓取网页信息的程序或脚本。爬虫起源随着网络的迅猛发展,万维网成为海量信息的载体,如何有效地提取和利用这些信息成为一项巨大挑战。搜索引擎如Yahoo、Google、百度等,作为帮助人们检索信息的工具,成为用户访问万维网的入口和指南。

Deeeeeeeeepl的博客 2054

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

爬取猫眼TOP100榜单并保存为csv文件

文章目录写在前面这是一个标题1:用到的包2:获取网页数据3:输出和保存4:构造url5:主函数完整代码结果展示写在后面 写在前面 昨天爬取的是影评,今天试了下爬top100榜单,网上这类资源有很多,但是自己也摸索了挺久,就记录一下吧。 这是一个标题 1:用到的包 import re import requests import time 2:获取网页数据 def get_data(url,headers): r = requests.get(url,headers = headers) r

ljc545w的博客 1255

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python爬虫项目--爬取猫眼电影Top100榜(完整源码)!

本次抓取猫眼电影Top100榜所用到的知识点:python requests库正则表达式csv模块多进程。

Python_trys的博客 2289

用python爬猫眼电影,简单网站却有 “多重思路” !

当用多种解析方式,多种保存方式,共同编写一个爬虫,会发生什么? 1+1=正无穷? 带你用正则和xpath爬取猫眼电影,分别保存为excle表和csv表。一起来看看吧?

Blog沙漏在下雨 4570

【Python 爬虫系列非专业教学】(3)手把手教你获取猫眼电影 Top 100 榜单

开门见山 最近吧,迷上了看电影。(事先声明,我并不是拖更去看的电影,emmm我自己都不信) 所以今儿我们来抓取猫眼电影 Top 100 榜单中所有的电影信息。 工具篇: 依旧是我们的老伙伴,PyCharm 和 Google 浏览器,同时python 版本为3.6.6 新手村村长发布的任务: · 抓取 Top 100 榜单 · 输入爬取的起始页:2 · 输入...

qq_41453482的博客 2327

爬取猫眼电影Top100

前言 学习python有一段时间了,之前一直忙于学习数据分析,耽搁了原本计划的博客更新。趁着这段空闲时间,打算开始更新一个爬虫系列。内容大致包括:使用正则表达式、xpath、BeautifulSoup、Pyquery等几个爬虫解析库来爬取一些常见的网站。就当作是对自己这一段时间的学习成果的一个检验。好了,废话不多说,开始进入今天的正题。今天打算的是爬取猫眼电影的Top100榜单。 工具:jupyt...

Miracle_H12的博客 770

Python爬虫入门实战之猫眼电影数据抓取(实战篇)

项目实战 静态网页实战   本节我们将为大家展现一个完整爬虫的大致过程,此次项目内容为提取猫眼电影TOP100榜中的所有电影信息并存储至CSV文件中,其首页地址为http://maoyan.com/board/4,在3.2.2中我们已经获取过第一页中的所有电影名了,但是如何获取第二页、第三页的数据呢,即获取第二页第三页对应的URL,那么我们可以在浏览器中不断翻页寻找地址栏中URL的...

若数的博客 5373

python爬取电影评分_用Python爬取猫眼上的top100评分电影

代码如下:# 注意encoding = 'utf-8'和ensure_ascii = False,不写的话不能输出汉字import requestsfrom requests.exceptions import RequestExceptionimport reimport json#from multiprocessing import Pool# 测试了下 这里需要自己添加头部 否则得不到网页...

weixin_26808963的博客 2234

猫眼电影MySQL数据库怎么写_猫眼电影和电影天堂数据csv和mysql存储

字符串常用方法#去掉左右空格'hello world'.strip() #'hello world'#按指定字符切割'hello world'.split(' ') #['hello','world']#替换指定字符串'hello world'.replace(' ','#') #'hello#world'csv模块作用:将爬取的数据存放到本地的csv文件中使用流程导入模块打开...

weixin_28931507的博客 2159
上一篇: 爬虫【4】爬取百度贴吧并生成静态页面
下一篇: Tensorflow2.0之自定义数据集
AndSonder
博客等级 码龄7年 364粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值