作为python爬虫的第一个试手小程序,因为豆瓣电影top250的获取不需要进行登陆,因此完成这个任务主要是正则表达式和url开启的使用。不过由于python2的一些处理中文编码的缺陷,因此在进行中文匹配时会遇上一些问题,如果是全英文如imbd、billboard这些榜单的获取,所需要解决的问题将要少很多。
以下是主程序,只截取了具有代表性的“电影名”、“评分”和“主演”这三项信息,其他如年份等可以类推完善
另一种获取电影信息的方法是通过排名中给出的电影主页链接来获得更详细的信息,可以避免榜单上信息不全有省略号出现的问题
#coding:utf-8
import urllib
import urllib2
import cookielib
import string
import re
import sys #python2 需转化为uft8的编码模式来进行中文写入
reload(sys)
sys.setdefaultencoding('utf-8')
class DouBan250(object):
pageNum = 0
def __init__(self):
self.file = open('DoubanList.txt', 'w')
self.url = 'http://movie.douban.com/top250'
self.cookie = cookielib.LWPCookieJar() #cookie设定可省略
self.cookieHandler = urllib2.HTTPCookieProcessor(self.cookie)
self.open = urllib2.build_opener(self.cookieHandler)