Python爬取豆瓣电影
来源:互联网 发布:饥荒有mac版吗 编辑:程序博客网 时间:2024/04/29 07:55
Python爬取豆瓣电影
需要导入的模块:
from urllib import request
import urllib
from html.parser import HTMLParser
关于
HtmlParser,顾名思义,是解析Html的一个工具。python自带的。
一、常用属性和方法介绍
HtmlParser是一个类,在使用时一般继承它然后重载它的方法,来达到解析出需要的数据的目的。
1.常用属性:
lasttag,保存上一个解析的标签名,是字符串。
2.常用方法:
handle_starttag(tag, attrs) ,处理开始标签,比如
;这里的attrs获取到的是属性列表,属性以元组的方式展示
handle_endtag(tag) ,处理结束标签,比如
handle_endtag(tag) ,处理结束标签,比如
handle_startendtag(tag, attrs) ,处理自己结束的标签,如
handle_data(data) ,处理数据,标签之间的文本
handle_comment(data) ,处理注释,
from urllib import requestimport urllibfrom html.parser import HTMLParserclass MovieParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.movies = [] def handle_starttag(self, tag, attrs): 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'): movie= {} movie['title'] = _attr(attrs, 'data-title') movie['rate'] = _attr(attrs, 'data-rate') movie['director'] = _attr(attrs, 'data-director') movie['actors'] = _attr(attrs, 'data-actors') self.movies.append(movie) print('%(title)s|%(rate)s|%(director)s|%(actors)s' % movie)def print_movies(url): header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'} req = urllib.request.Request(url, headers=header) s = urllib.request.urlopen(req) parser = MovieParser() parser.feed((s.read()).decode('utf-8')) s.close()if __name__ == '__main__': url = 'https://movie.douban.com/' print_movies(url)
阅读全文
0 0
- Python爬取豆瓣电影
- Python爬取豆瓣电影
- Python爬取豆瓣电影
- Python爬取豆瓣电影top250
- python爬取豆瓣电影信息
- Python爬取豆瓣电影Top250数据
- python+beautifulsoup爬取豆瓣电影TOP250
- python爬取豆瓣电影信息
- Python爬取豆瓣电影top250
- python爬取豆瓣电影Top250
- python爬取豆瓣电影top250
- <Python爬虫>爬取豆瓣图书/豆瓣电影系列
- 爬取豆瓣的电影
- 爬取豆瓣电影数据
- scrapy爬取豆瓣电影
- 爬取豆瓣所有电影
- Python—爬虫—简单爬取豆瓣电影
- 使用python爬取豆瓣电影图片(-)
- Java、TCP/IP、Socket编程
- 5. Python脚本学习笔记五元组
- 字符串最后一个单词的长度
- cen0s7之文字
- c语言:求两个数的最大公约数和最小公倍数
- Python爬取豆瓣电影
- 6. Python脚本学习笔记六字符串
- vue+axios跨域
- Terminal复制粘帖xclip、clip xsel和pbcopy的 用法 (linux,mac ,和ubuntu)
- 7. Python脚本学习笔记七字典
- poj 1854 Evil Straw Warts Live(分治)
- iOS编程基础-OC(四)-内存管理(续)
- tomcat6下载地址
- 手把手教你vuex写个简单的购物车DEMO