Python学习笔记——20170829
来源:互联网 发布:网络连接受限制有叹号 编辑:程序博客网 时间:2024/06/14 04:19
HTMLParser
- 方法注解
from html.parser import HTMLParser#class MyParser(HTMLParser): """ HTMLParser """ def __init__(self): HTMLParser.__init__(self) def handle_startendtag(self, tag, attrs): super().handle_startendtag(tag, attrs) # 处理开始标签<a> def handle_starttag(self, tag, attrs): pass # 处理结束标签</a> def handle_endtag(self, tag): pass # 处理特殊字符串,例如$#开头的 def handle_charref(self, name): pass # 处理标签中的内容,比如<a href="http://www.baidu.com">baidu<a> def handle_data(self, data): pass # 处理注释 def handle_comment(self, data): pass # 处理以<!开头的,比如<!DOCTYPE HTML> def handle_decl(self, decl): pass # 处理特殊字符,例如  def handle_entityref(self, name): pass # 处理<?instruction> def handle_pi(self, data): pass
Douban电影内容爬取
import requestsfrom html.parser import HTMLParser#class MovieParser(HTMLParser): """ 电影解析器 """ def __init__(self): HTMLParser.__init__(self) self.moives = [] 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['score'] = _attr(attrs, 'data-score') if movie['score'] is None: movie['score'] = "None" movie['director'] = _attr(attrs, 'data-director') movie['actors'] = _attr(attrs, 'data-actors') self.moives.append(movie) # print('{movie[title]} | {movie[score]} | {movie[director]} | {movie[actors]}'.format(movie=movie)) def error(self, message): pass##def my_movies(url): """ 网络请求 :param url: 地址 :return: 解析好的内容 """ mp = None try: headers = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)'} response = requests.get(url, headers=headers) response.raise_for_status() mp = MovieParser() mp.feed(response.text) return mp.moives except: return print('发生异常') finally: if mp is not None: mp.close()##def save_file(path, text): """ 文本存储 :param path: 存储路径 :param text: 文本内容 :return: None """ with open(path, 'w', encoding='UTF-8') as file: file.write(text)##if __name__ == '__main__': url = "https://movie.douban.com/cinema/nowplaying/chongqing/" text = my_movies(url) save_file("d:/upload/movies.json", str(text).replace('\'', '\"'))
阅读全文
0 0
- Python学习笔记——20170829
- python 学习笔记——python globals()
- Python学习笔记 — 函数
- Python学习笔记—钱珺
- python学习笔记—输入输出
- OpenCV—Python 学习笔记
- Python学习笔记(—):初识python
- 【笔记】Python学习笔记 ——1
- Python学习笔记——Unicode
- python学习笔记——文件
- Python学习笔记——描述符
- Python学习笔记——切片操作
- python学习笔记——字典
- python学习笔记——字典
- Python学习笔记——常量定义
- 学习python笔记——基本概念
- 学习python笔记——表达式
- 学习python笔记——控制流
- 浅谈IT行业加班有没有价值
- Logback+ELK+SpringMVC搭建日志收集服务器
- 未来计划,助力成长
- jQuery Mobile中复选框checkbox的data-*选项
- 代码块、继承、重写、final
- Python学习笔记——20170829
- spring boot使用shiro
- Android应用使用Multidex突破64K方法数限制
- ubuntu16.04安装TensorFlow,并测试TensorFlow的运行
- OpenCV笔记大集合
- 包、import、四种权限
- kafka学习笔记:知识点整理
- 沟通的艺术(笔记)——前言
- 线程池的原理及使用(转载)