python爬虫实例——中国电影票房

刚好最近在做一个关于中国电影市场的分析,所以这篇实例就诞生啦!!!

一、观察网页

我所爬取的网站是:中国票房——年度票房。
网址甩出来:http://www.cbooo.cn/year?year=2019

我们需要的数据是从2015年到2019年,每部电影的名称详情页url类型总票房国家及地区上映日期

点进去的页面是介个样子滴~它总共有25条数据,就是2019年的TOP25!
在这里插入图片描述
左上角框出来的地方是可以选择年份的,我们可以通过它来观察不同年份间url的相似点。如下图:我们观察到他们的网址是有规律的,即:http://www.cbooo.cn/year?year= + 年份 这样我们就可以直接获取到所有的网址
在这里插入图片描述

二、分步实现

1.导包
导入我们所需要的包

import os
import requests
from lxml import etree
import pandas as pd

2.定义获取数据的函数
因为每年都要请求一遍,所以为了方便,我们将它写成一个函数,直接调用,方便我们自己。

headers = {
   'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
                         AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
cookies = {
   'SUB':'_2A25wmfkgDeRhGeBI4lcU9irOzD2IHXVQZYdorDV6PUJbkdAKLUvAkW1NRkZNESdNnLdqXAeecDulr43bOma1k9ut'}
def get_data(url):
    r = requests.get(url, headers=headers, cookies=cookies, timeout=30)
    r.raise_for_status() #查看是否正常,正常返回200,否则返回404等
    r.encoding='utf-8'
    return r.text

此函数会返回url的网页源代码的内容,以url='http://www.cbooo.cn/year?year=2019’为例,下图为get_data后的结果,得到data后,我们就可以解析它,获取到我们想要的部分
在这里插入图片描述

3.提前创建csv表

local_data='D:/Learn'
local_main2=local_data+'/'+'movie.csv'#设置路径
if not os.path.exists(local_main2):
    data = pd.DataFrame(columns
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值