#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
一个简单的Python爬虫, 用于抓取豆瓣电影Top前100的电影的名称
Anthor: Andrew Liu
Version: 0.0.1
Date: 2014-12-04
Language: Python2.7.8
Editor: Sublime Text2
Operate: 具体操作请看README.md介绍
"""
import string
import re
import urllib2 class DouBanSpider(object) :
"""类的简要说明
本类主要用于抓取豆瓣前100的电影名称 Attributes:
page: 用于表示当前所处的抓取页面
cur_url: 用于表示当前争取抓取页面的url
datas: 存储处理好的抓取到的电影名称
_top_num: 用于记录当前的top号码
""" def __init__(self) :
self.page = 1
self.cur_url = "http://movie.douban.com/top250?start={page}&filter=&type="
self.datas = []
self._top_num = 1
print "豆瓣电影爬虫准备就绪, 准备爬取数据..." def get_page(self, cur_page) :
"""
根据当前页码爬取网页HTML
Args:
cur_page: 表示当前所抓取的网站页码
Returns:
返回抓取到整个页面的HTML(unicode编码)
Raises:
URLError:url引发的异常
"""
url = self.cur_url
try :
my_page = urllib2.urlopen(url.format(page = (cur_page - 1) * 25)).read().decode("utf-8")
except urllib2.URLError, e :
if hasattr(e, "code"):
print "The server couldn't fulfill the request."
print "Error code: %s" % e.code
elif hasattr(e, "reason"):
print "We failed to reach a server. Please check your url and read the Reason"
print "Reason: %s" % e.reason
return my_page def find_title(self, my_page) :
"""
通过返回的整个网页HTML, 正则匹配前100的电影名称 Args:
my_page: 传入页面的HTML文本用于正则匹配
"""
temp_data = []
movie_items = re.findall(r'<span.*?class="title">(.*?)</span>', my_page, re.S)
for index, item in enumerate(movie_items) :
if item.find("&nbsp") == -1 :
temp_data.append("Top" + str(self._top_num) + " " + item)
self._top_num += 1
self.datas.extend(temp_data) def start_spider(self) :
"""
爬虫入口, 并控制爬虫抓取页面的范围
"""
while self.page <= 4 :
my_page = self.get_page(self.page)
self.find_title(my_page)
self.page += 1 def main() :
print """
###############################
一个简单的豆瓣电影前100爬虫
Author: Andrew_liu
Version: 0.0.1
Date: 2014-12-04
###############################
"""
my_spider = DouBanSpider()
my_spider.start_spider()
for item in my_spider.datas :
print item
print "豆瓣爬虫爬取结束..." if __name__ == '__main__':
main()

运行的结果:

aaarticlea/png;base64,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" alt="" />

抓取豆瓣的电影排行榜TOP100的更多相关文章

  1. Scrapy爬虫入门系列4抓取豆瓣Top250电影数据

    豆瓣有些电影页面需要登录才能查看. 目录 [隐藏]  1 创建工程 2 定义Item 3 编写爬虫(Spider) 4 存储数据 5 配置文件 6 艺搜参考 创建工程 scrapy startproj ...

  2. 简易数据分析 04 | Web Scraper 初尝--抓取豆瓣高分电影

    这是简易数据分析系列的第 4 篇文章. 今天我们开始数据抓取的第一课,完成我们的第一个爬虫.因为是刚刚开始,操作我会讲的非常详细,可能会有些啰嗦,希望各位不要嫌弃啊:) 有人之前可能学过一些爬虫知识, ...

  3. 003.[python学习] 简单抓取豆瓣网电影信息程序

    声明:本程序仅用于学习爬网页数据,不可用于其它用途. 本程序仍有很多不足之处,请读者不吝赐教. 依赖:本程序依赖BeautifulSoup4和lxml,如需正确运行,请先安装.下面是代码: #!/us ...

  4. 爬虫之爬取豆瓣top250电影排行榜及爬取斗图啦表情包解读及爬虫知识点补充

    今日内容概要 如何将爬取的数据直接导入Excel表格 #如何通过Python代码操作Excel表格 #前戏 import requests import time from openpyxl impo ...

  5. python2.7抓取豆瓣电影top250

    利用python2.7抓取豆瓣电影top250 1.任务说明 抓取top100电影名称 依次打印输出 2.网页解析 要进行网络爬虫,利用工具(如浏览器)查看网页HTML文件的相关内容是很有必要,我使用 ...

  6. 用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序

    抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 #coding=utf-8 from ...

  7. Python:python抓取豆瓣电影top250

    一直对爬虫感兴趣,学了python后正好看到某篇关于爬取的文章,就心血来潮实战一把吧. 实现目标:抓取豆瓣电影top250,并输出到文件中 1.找到对应的url:https://movie.douba ...

  8. Python小爬虫——抓取豆瓣电影Top250数据

    python抓取豆瓣电影Top250数据 1.豆瓣地址:https://movie.douban.com/top250?start=25&filter= 2.主要流程是抓取该网址下的Top25 ...

  9. Python3 抓取豆瓣电影Top250

    利用 requests 抓取豆瓣电影 Top 250: import re import requests def main(url): global num headers = {"Use ...

随机推荐

  1. 快速掌握ajax!

    ajax是什么? ajax——asynchronous JavaScript and xml:异步的js和xml 它能使用js访问服务器,而且是异步访问 服务器给客户端的响应一般是整个页面,一个htm ...

  2. ubantu上搭建hive环境

    上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧! 第一步:准备! 软件: I.一个搭建好的hadoop环境 II.hive的bin文件(前往apa ...

  3. 解决MYSQL的错误:Got a packet bigger than 'max_allowed_packet' bytes

    Mysql 5.1开始遇到的信息包过大问题,当用客户端导入数据的时候,遇到错误代码: 1153 - Got apacket bigger than 'max_allowed_packet' bytes ...

  4. W3c盒子模型+IE盒子模型+box-sizing属性

    1.盒子模型有两种,标准盒模型和IE盒模型,其中W3C标准的盒模型就是在网页的顶部加上 DOCTYPE 声明. (1)W3C标准的盒模型 W3C盒子模型包括4部分:margin,border,padd ...

  5. Job for mysqld.service failed because the control process exited with error code

    启动MySQL时抛出: Job for mysqld.service failed because the control process exited with error code. See &q ...

  6. Vue文件封装日历组件

    封装就是要具有灵活性,样式自适应,调用的时候传入props就可以变成自己想要的样式. 效果展示网址:https://1963331542.github.io/ 源代码: <template> ...

  7. u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)

     新版本下载: 下面的链接提供了较新版本的源码 ver4.0源码下载:u-boot for tiny210 ver4.0 ver3.1源码下载: u-boot for tiny210 ver3.1 v ...

  8. centos7下搭建solr服务器

    1.Solr的环境 Solr是java开发. 需要安装jdk. 安装环境Linux. 需要安装Tomcat. 1.2. 搭建步骤 第一步:把solr 的压缩包上传到Linux系统 第二步:解压solr ...

  9. 常用js方法封装

    常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...

  10. OpenRail中地形模型特征的含义

    点或点高程 点(附有 X.Y.Z 数据)与任何其他点之间没有功能关系.对开阔地形的随机测量拍摄可以被当做随机点的例子.点图元,如单元.圆圈和文字串是典型的 MICROSTATION 图元,用于用图表定 ...