Python爬虫实例:豆瓣热播电影
来源:互联网 发布:k线分析软件 编辑:程序博客网 时间:2024/04/28 12:27
第1步:热播电影格式
- 使用Chrome打开也爬取的网页,打开Chrome的开发者选项,点击下图中的按钮!
,选中要爬取的区域,然后查看html代码,查看抽取内容的格式。
通过上面方法找到热播电影的格式为:
<div class="mod-bd"> <ul class="lists"> <li id="2131940" class="list-item" data-title="魔兽" data-score="8.2" data-star="40" data-release="2016" data-duration="124分钟" data-region="美国 中国大陆 加拿大" data-director="邓肯·琼斯" data-actors="崔维斯·费米尔 / 托比·凯贝尔 / 宝拉·巴顿" data-category="nowplaying" data-enough="True" data-showed="True" data-votecount="59747" data-subject="2131940" > <li id="25786060" class="list-item" data-title="X战警:天启" data-score="8.2" data-star="40" data-release="2016" data-duration="144分钟" data-region="美国" data-director="布莱恩·辛格" data-actors="詹姆斯·麦卡沃伊 / 迈克尔·法斯宾德 / 詹妮弗·劳伦斯" data-category="nowplaying" data-enough="True" data-showed="True" data-votecount="82158" data-subject="25786060" > 。。。。。。
因此,我们只需要拿到所有
HTMLParse简介
- feed:向解析器(HTMLParse)中喂数据,可以分段提供
- handler_starttag:处理html的开始标签
- tag:标签名称
- attrs:标签属性列表
- handler_data:处理标签里的数据体
- data:数据文本
第2步通过HTMLParser解析器解析网页html代码,获取所有信息
# -*- coding: utf-8 -*-import urllib2import jsonfrom HTMLParser import HTMLParserclass MovieParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.movies=[] #重载父类方法 #循环处理feed进来的所有的tag,以及标签对应的attrs def handle_starttag(self, tag, attrs): #给定tag的属性名attrname,获取属性的值 def _attr(attrList,attrname): for attr in attrList: if attr[0] == attrname: return attr[1] return None if tag == 'li' and _attr(attrs,'data-title') \ and _attr(attrs,'data-category') == 'nowplaying': movie = {} movie['title'] = _attr(attrs,'data-title') movie['score'] = _attr(attrs,'data-score') movie['director'] = _attr(attrs,'data-director') movie['actors'] = _attr(attrs,'data-actors') self.movies.append(movie)#获取热播电影信息def nowplaying_movies(url): headlers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36'} req = urllib2.Request(url,headers=headlers) response = urllib2.urlopen(req) #定义解析器MovieParser继承自HTMLParser parser = MovieParser() #将response.read()喂给解析器, # 供解析器的handle_startendtag(self, tag, attrs)解析 parser.feed(response.read()) response.close() return parser.moviesif __name__ == '__main__': url = 'https://movie.douban.com/nowplaying/qingdao/' movies = nowplaying_movies(url) #把movies以json格式打印出来 print '%s' % json.dumps(movies,sort_keys=True,indent=4,separators=(',',':'))
0 0
- Python爬虫实例:豆瓣热播电影
- python爬虫获取豆瓣正在热播电影
- Python爬虫实例:用requests重构豆瓣热播电影爬虫
- python爬虫 豆瓣电影
- python豆瓣电影爬虫
- Python爬虫豆瓣电影top250
- python爬虫,爬豆瓣top250电影
- python爬虫之豆瓣电影评分
- python爬虫之获取豆瓣电影信息
- [Python爬虫]1.豆瓣电影Top250
- Python爬虫获取豆瓣电影TOP250
- Python爬虫——豆瓣电影Top250
- Python爬虫小案例:豆瓣电影TOP250
- Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)
- python爬虫 登陆豆瓣 爬豆瓣电影短评
- <Python爬虫>爬取豆瓣图书/豆瓣电影系列
- 豆瓣电影爬虫初探
- 爬虫豆瓣电影
- [struts2]struts2 action 页面跳转
- 数据结构示例之连接字符串
- 译文:使用MVC5的Entity Framework 6入门(三)——排序、筛选和分页
- 父进程与子进程间相互发送信号
- 大数定律与中心极限定理
- Python爬虫实例:豆瓣热播电影
- 省市县三级联动
- tar 分包压缩与合并
- 394. Decode String
- 1010. Radix (25)
- Python爬虫实例:用requests重构豆瓣热播电影爬虫
- 在Ubuntu上配置MediaWiki的曲折之路
- Python爬虫之requests介绍
- 按键驱动