爬取豆瓣电影Top250和数据分析

目录

一、 爬取

1. 爬取主页面

2. BeautifulSoup查找元素

3. 爬取每部电影信息

二、  数据分析

       1.  对上映时间分析 

绘制直方图

 绘制饼图

 绘制折线图

        2. 对电影类型分析

        绘制词云图           

        分析某种电影类型随时间变化的折线图

        3.  分析演员或者导演

         排名前十的演员

         对某个演员出演的电影得分分析

 三、完整代码

        1. 爬取代码

         2.  数据分析代码


爬取豆瓣电影内容,并将其写入excel,对数据进行数据分析

方法:requests,BeautifulSoup,pandas

一、 爬取

       爬取豆瓣电影内容方法是:先在主页面(每页25部电影,一共10页)上爬取每部电影的网址,然后依次进入每部电影的网址爬取内容。

1. 爬取主页面

     在爬取之前,需要找到headers和url。

      headers主要是由User-Agent构成,其作用是告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本。在爬取一般的网站只需要一个User-Agent就够了。

    url 第一页主页网站https://movie.douban.com/top250?start=0&filter= ,每页的网站就是前一页start=后面加上25。

        接下来就是运用requests开始访问网站了。requests一般有两种方法get和post,如下图就是确定使用get或者使用post。在这里就是使用get。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1BhbmRhNHU=,size_16,color_FFFFFF,t_70

下面就开始访问网站了。输出response如果得到的是200那么就是访问成功了,反之可以根据错误的编号找到错误源 点击查看错误代码大全 。

response = requests.get(url=url, headers=headers)

 下一步就是运用BeautifulSoup开始解析网页。

soup = BeautifulSoup(response.text, 'html.parser')

这里的html.parser,是四种解析器中的一种,也是经常使的。得到的soup就是HTML。所以后面我们可以直接使用soup找到我们需要的属性。

做到了这里就完成了爬虫工作的一半。

20210728231556706.gif

2. BeautifulSoup查找元素

         俗话说磨刀不误砍柴工,在我们进行查找元素时,我们先对BeautifulSoup查找元素方法了解一下。

         接下来就介绍以下soup的使用方法,功能强大的CSS选择器能完成我们绝大多数的功能,下面我们就着重介绍一下:

20210729102331312.png

        1. find_all

格式为:soup.find_all('标签',attrs={'属性名':'属性值'})    这种格式可以运用绝大多数的情况下,重点记忆!

例如对主页电影名进行爬取,可以看到,标签为span,属性名为class,属性值为title,那么就可以应用find_all了。

20210728234009474.png

    list_name = soup.find_all('span',attrs={'class':'title'})   # 结果为一个列表
    for i in list_name:
        print(i.get_text())         # 类型为Tag,需要用get_text()

 得到的部分结果为:

20210728234357498.png

可以看到得到的结果是在一个网页中的所有的标签为span,属性名为class,属性值为title。所以这里引出find_all就是查找网页中所有满足条件的内容。

        2. find

find_all是找所有满足条件的内容,那么可想而知find也就是查找第一个满足条件的。

    name
评论 145
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值