爬虫爬取豆瓣电影排行前250(试用面向对象的方式写)

本文介绍了一个使用Python爬虫爬取豆瓣电影Top250的实践,采用面向对象的方式实现。通过BeautifulSoup进行网页解析,requests获取网页数据,re进行正则匹配,并使用openpyxl存储数据。文章分析了电影类及其属性,并展示了如何构建电影列表,同时讨论了代码的不足和改进点,包括处理缺失信息和优化数据存储函数。
摘要由CSDN通过智能技术生成

爬虫爬取豆瓣电影排行前250

参考资料:xlzd爬取豆瓣电影
Python 爬虫-模拟登录知乎-爬取拉勾网职位信息

在参考xlzd的教程后,已经实现过对豆瓣电影前250名的爬取,为训练自己对类的掌握,准备将其改写为面向对象的写法,又恰好看见segmentfault那篇文章对于openpyxl的使用,将爬虫获得的资料也使用xls储存。

首先确定使用的库

解析网页:BeautifulSoup
网页请求:requests
正则表达式:re
储存数据:openpyxl

面向对象方式的分析

我们的目的是爬取豆瓣电影的前250名,那么每一部电影可以看作一个类,他的名字、观看人数等信息则是它的成员。
所获得的所有电影的信息正是我们爬取的目的,爬取电影列表可以看作一个类,他的成员正是每一部电影。
这个爬虫只需要写两个类,电影列表(movieslist)与电影(movie)。

先看电影,他是有如下四个成员构成的:
电影名
评价人数
得分
一句话评语

 class movie:
     name = getname()
     eva = geteva()
     score = getscore()
     inq = getinq()

那么电影可以看成这样的一个结构
而movielist可以看成由很多个movie组成的list
movielist = []
使用append在网页解析过程中不断加入movie对象
movielist.append(movie)

总的代码如下:

    #!/usr/bin/env python
# -*- encoding:utf-8 -*-
import requests
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值