python爬虫实战三:近十年中国电影票房数据爬取与分析

本文讲述了作者如何爬取并分析近十年(2010-2019)中国电影票房数据,过程中遇到的挑战,以及通过数据分析得出的结论,如二八原则在电影市场的体现。
摘要由CSDN通过智能技术生成

前言

这篇文章主要讲述的是近十年(2010-2019)中国电影票房数据的爬取与简单分析。
之所以想到做这个,是因为我最近在一本书上读到这么一段话

2013年受市场热捧的电影行业其实是个现金流状况很差的行业。中国每年会拍七百多部电影,只有两百多部能够上映,其中票房能够超过五亿的屈指可数。即使赚了五亿的票房“大获成功”的电影,扣除分给院线的一半,再扣除发行费,宣传费,制片方能够拿到手的大概只有2亿多一点。再扣除给编剧、导演、制片和演员的薪酬以及拍摄中的各种成本,最后剩下的净利润可能只有几千万。

这句话让我对中国的电影市场产生了好奇,想了解一下近年来中国电影市场的发展,于是想爬取近十年的中国电影票房。
但是,我在爬取的过程中,遇到了很多困难:

  1. 数据不公开
    没有一个权威、公开、透明的电影数据网站。我搜索了很多网站,没有找到满意的。所谓的中国电影数据信息网,有的是政策法规,工作咨询,没有的是电影数据。
  2. 设置爬虫障碍
    后来我找到一家数据齐全的网站:电影票房网,但是万万没有想到这个网站给爬虫设置了重重障碍:
    1. 查看多页数据需要用户登录
      登录

    2. 奇怪的验证码
      验证码

    3. 这个数据居然是图片格式!
      数据为图片

这让我这个爬虫小白望而却步,等以后学得更精了,再来爬这个。

后来我在外网上找到一个不错的网站:这是个网站
但是这个数据是非正式的,存在很多漏洞和问题,与真实数据有出入(下面会说明)。这里只是用来作爬取和数据分析用,不代表真实情况!

爬取

与前两个爬虫项目类似,直接上代码:

# 引入库
import re
import pandas as pd
import time
import urllib.request
from lxml.html import fromstring
from bs4 import BeautifulSoup

# 下载链接
def download(url):
    print('Downloading:', url)
    request = urllib.request.Request(url)
    request.add_header('User-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36') #进行伪装
    resp = urllib.request.urlopen(request)
    html = resp.read().decode('utf-8')
    return html

# 待爬取内容
name = []
year = []
Box_office = []

# 循环爬取每页内容
for k in range(10):
    movie_year = 2010+k
    url = download('http://www.boxofficecn.com/boxoffice{}'.format(movie_year))
    time.sleep(3)
  • 32
    点赞
  • 219
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值