最近看到一个 UP 主做的视频,使用可视化动态图,把目前播放量最多的 UP 主一一列出来,结果第一名是哔哩哔哩番剧,第一名的播放量是第二名近 10 倍。

B站的番剧数量,也是相对其他平台比较多的,而且质量都还不错。说实话,刚开始用哔哩哔哩的时候,就是为了看番剧。作为一个喜欢看番剧的 pk 哥,我决定用爬虫爬取一下日本动漫电影 TOP100 都有哪些?网上看了一下,时光网正好有这个排行榜,而且信息相对来说比较全。

所以我决定用爬虫把这个榜单上 Top100 的所有电影信息全部保存为 csv 文件放在本地,看有没有之前我遗漏的经典动漫电影。

以下是保存的效果。保存的列包括电影名称、导演编剧、发行公司、更多片名、评分、首日票房、总票房。有些电影没有评分和票房信息的就直接显示为空。

获取电影ID信息

本次爬虫项目主要分为三个部分。第一部分我们要获取电影的 Id信息,因为我们需要保存的所有信息,都和这个有关。Id从哪里获取呢?我们打开这个榜单页面的源代码。源代码中我们可以看到,id都在链接后面。

为了缩小范围,我们发现这些链接都在 class=top_nlist 里面,我们用 beautifulsoup 库提取属性 class= top_nlist 所有的元素。然后用正则表达式,提取出每页的 id信息。

这里第 1 个页面需要特殊处理一下,因为第 2 个页面到第 10 个页面后面都是直接带的数字,第 1 个页面直接我在后面加 -1 的话会报 404,所以这个页面单独拿出来提取页面信息。然后再把 ID 信息全部加到空列表里面。

提取评分和票房信息

ID 信息获取了,接下来我们通过 ID 信息来获取电影的评分和票房信息。通过 F12 调试我们可以看到。评分和票房信息在 js 里面。

请求链接里变化的就是电影的 ID ,其他的保持不变就好。

我们对返回信息通过简单的处理转换为 Json 格式。之后我们就可以直接通过 key 值提取 value 值了。这里主要提取的信息有:评分、首日票房和总票房。

提取其他电影详细信息

接下来我们需要通过 ID 信息获取对应电影的名称和导演编剧等详细信息。这些信息在源代码中,可以直接通过正则表达式来提取。

用正则表达式提取信息的前提是我们要找到信息的规律。这样通过正则表达式提取就又快又准。

提取了这些信息之后,我们把它保存在 list 列表中,这样做的目的是为了后面我们保存为 csv 文件做准备。

保存为csv文件

每页的信息获取了之后,我们就可以把这些信息追加保存到 csv 文件中。每保存一部电影信息,保存下一部电影信息就进行追加保存。为了避免保存后的 csv 文件打开出现乱码,我们需要将编码形式设置为 encoding='utf-8' 格式。

通过这三步,这个 Top100 排行榜中的所有动漫电影信息都全部保存在本地的 csv 文件中啊。那我们就可以更方便的浏览这些电影信息。这样我们就可以更好的追番了。本文所有的代码信息可在公众号「Python知识圈」后台回复「动漫电影」获取。

Python一键获取日漫Top100榜单电影信息的更多相关文章

  1. 微信小程序 TOP100 榜单

    8 月 12 日,阿拉丁数据统计平台发布了国内第一份小程序 TOP100 榜单,摩拜单车成为全榜第一! 该榜单数据来源于阿拉丁小程序统计平台检测.合作.如有赞等,并经过企业电话调研和实地走访企业等校准 ...

  2. 2016中国银行Top100榜单发布 工行排首位

    2016中国银行Top100榜单发布 工行排首位 2016-07-09 15:13:19 第一财经   2016年7月8日,中国银行业协会在京召开“<中国银行业发展报告(2016)>发布会 ...

  3. 使用requests爬取猫眼电影TOP100榜单

    Requests是一个很方便的python网络编程库,用官方的话是"非转基因,可以安全食用".里面封装了很多的方法,避免了urllib/urllib2的繁琐. 这一节使用reque ...

  4. Python学习--猫眼电影TOP100榜单抓取

    import requests import re import json import time def get_one_page(url): headers={'User-Agent':'Mozi ...

  5. python 爬取猫眼下的榜单(一)--单个页面

    #!/usr/bin/env python # -*- coding: utf- -*- # @Author: Dang Kai # @Date: -- :: # @Last Modified tim ...

  6. 2019年微信小程序1月TOP100榜单

  7. python+requests+re匹配抓取猫眼上映电影信息

    python+requests抓取猫眼中上映电影,re正则匹配获取对应电影的排名,图片地址,片名,主演及上映时间和评分 import requests import re, json def get_ ...

  8. Python爬虫项目--爬取猫眼电影Top100榜

    本次抓取猫眼电影Top100榜所用到的知识点: 1. python requests库 2. 正则表达式 3. csv模块 4. 多进程 正文 目标站点分析 通过对目标站点的分析, 来确定网页结构,  ...

  9. 重磅榜单!互联网金融Top100总估值超1.1万亿,27家独角兽上榜!

    时隔4个月,爱分析的“中国互联网金融企业估值排行榜”更新了! 在这4个月当中,我们调研了数十位企业创始人.专业投资人以及资深行业专家,尤其针对金服集团.消费金融.财富管理.征信等领域进行了深入研究.因 ...

随机推荐

  1. Swift-Realm数据库的使用详解

    Swift-Realm数据库的使用详解 概述 Realm 是一个跨平台的移动数据库引擎,其性能要优于 Core Data 和 FMDB - 移动端数据库性能比较, 我们可以在 Android 端 re ...

  2. FileZilla更新服务器文件后浏览器没有刷新的一种常见情况

    一.问题描述 在使用FileZilla更新服务器文件时,常出现的一种情况是: 刷新浏览器,发现该网页并未更新.但是检查网页源代码可以发现文件已经更新了,这就奇怪了,是服务器出了问题吗?还是FileZi ...

  3. 一维滑动窗口(SlidingWindow)

    滑动窗口(Sliding Window)问题经常使用快慢指针(slow, fast pointer)[0, slow) 的区域为滑动窗口已经探索过的区域[slow, fast]的区域为滑动窗口正在探索 ...

  4. Mobile Communication

    最近面试有被问到LTE,感觉说得不太清楚,重新整理一遍. 一.第一代移动通信系统 1G,诞生于1980年左右.模拟通信系统,抗干扰性能差,使用FDMA技术,主要用来传输话音信号,最拉风的就是" ...

  5. 你这些知识点都不会,你学个锤子SQL数据库!

    全套的数据库的知识都在这里,持续更新中ing 快戳我查看,快戳戳,不管是Oracle还是mysql还是sqlsever,SQL语言都是基础. 一.关系 单一的数据结构----关系 现实世界的实体以及实 ...

  6. 图论--最长路--基于SPFA的调整模板

    #include<iostream> #include<queue> #include<algorithm> #include<set> #includ ...

  7. Jmeter 结构体系及运行顺序

    一.Jmeter 运行原理: Jmeter 时以线程的方式来运行的(由于Jmeter 是 java 开发的所以是运行在 JVM 虚拟机上的,java 也是支持多线程的) 二.Jmeter 结构体系 1 ...

  8. SpringBoot系列(十三)统一日志处理,logback+slf4j AOP+自定义注解,走起!

    往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)we ...

  9. js 箭头函数不适用的场景

    箭头函数虽然方便但也不是每个地方都适用, 箭头函数在开发中可以十分方便的干预 this的指向,在一些情况下,是不需要对this的指向进行干预的,也就不适用箭头函数 1.构造函数的原型方法上 例如:Pe ...

  10. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...