爬虫爬取豆瓣电影排行前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