#使用parser获取图片信息,输出Python官网发布的会议时间、名称和地点。
# !/usr/bin/env/Python3 # - * - coding: utf-8 - * - from html.parser import HTMLParser import urllib.request #使用parser获取图片信息,输出Python官网发布的会议时间、名称和地点。 class MyHTMLParser(HTMLParser): def __init__(self): super().__init__() self.li = False self.h3 = False self.a = False self.p = False self.time = False self.span1 = False self.span2 = False self.event_dict = {} self.count = 0 def handle_starttag(self, tag, attrs): if tag == 'li': self.li = True elif tag == 'h3': for k, v in attrs: if k == 'class' and v == 'event-title': self.h3 = True elif tag == 'a': self.a = True elif tag == 'p': self.p = True elif tag == 'time': self.time = True elif tag == 'span': for k, v in attrs: if k == 'class' and v == 'say-no-more': self.span1 = True elif k == 'class' and v == 'event-location': self.span2 = True def handle_data(self, data): if self.li: if self.h3 == True and self.a == True: self.count += 1 # 用self.count作为self.IDdict的key,表示会议的次数 self.event_dict[self.count] = {} self.event_dict[self.count]['name'] = data elif self.p: if self.time: if not self.span1: self.event_dict[self.count]['time'] = data else: self.event_dict[self.count]['time'] += (',' + data) else: if self.span2: self.event_dict[self.count]['site'] = data def handle_endtag(self, tag): if tag == 'a': self.a = False elif tag == 'h3': self.h3 = False elif tag == 'span': self.span1 = False self.span2 = False elif tag == 'time': self.time = False elif tag == 'p': self.p = False elif tag == 'li': self.li = False parser = MyHTMLParser() def parse_python_event(html_data): global parser parser = MyHTMLParser() parser.feed(html_data) return parser.event_dict def Hocontent(url): page = urllib.request.urlopen(url) html = page.read() return html if __name__ == '__main__': html_data = Hocontent('https://www.python.org/events/python-events/').decode(encoding="utf-8") event = parse_python_event(html_data) print('Conference: %s' % event) for i in range(1, parser.count + 1): print(event[i]['name'], '\n', event[i]['time'], '\t', event[i]['site'])
#使用parser获取图片信息,输出Python官网发布的会议时间、名称和地点。的更多相关文章
- python学习(解析python官网会议安排)
在学习python的过程中,做练习,解析https://www.python.org/events/python-events/ HTML文件,输出Python官网发布的会议时间.名称和地点. 对ht ...
- Python+Selenium学习笔记5 - python官网的tutorial - 交互模式下的操作
这篇笔记主要是从Python官网的Tutorial上截取下来,再加上个人理解 1. 在交互模式下,下划线'_'还可以表示上一步的计算结果 2.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...
- 今天去python官网下载包安装的时候的问题记录
去官网下载了 tar压缩包 放到了site-packages下解压 然后使用 python setup.py install 安装 安装完后,所要引用的模块文件居然还在解压出来的压缩文件里面,导致无法 ...
- python官网导航翻译
- 微服务实战系列--Nginx官网发布(转)
这是Nginx官网写的一个系列,共七篇文章,如下 Introduction to Microservices (this article) Building Microservices: Using ...
- python官网几个下载文件的区别
进入python官方,下载python编译器,提供了如下几个版本进行选择,这些版本分别是什么意思呢? Python 3.7.1 - 2018-10-20 Download Windows x86 we ...
- python官网
https://www.python.org/ https://docs.python.org/2/library/pydoc.html
- 获取Xshell Xftp等官网下载地址
1. 首先还是得填写邮箱获取试用链接地址,例如我这次获取的是: https://cdn.netsarang.net/c5711331/Xshell-6.0.0175.exe 关键需要记下 c57113 ...
- Python+Selenium学习笔记14 - python官网的tutorial - just() fill() format()
repr(x).rjust(n) 左侧空格填充,右侧列对齐,str()和repr()是一种输出,也可不用,直接x.rjust() repr(x).ljust(n) 右侧空格填充,左侧列对齐 rep ...
随机推荐
- javascript中构造StringBuffer实例
function StringBuffer(){ this.strings = new Array; } StringBuffer.prototype.append=function ...
- Jmeter-线程组
1.Sampler 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sam ...
- 腾讯云总监手把手教你,如何成为AI工程师?
作者:朱建平 腾讯云技术总监,腾讯TEG架构平台部专家工程师 1.关于人工智能的若干个错误认知 人工智能是AI工程师的事情,跟我没有什么关系 大数据和机器学习(AI) 是解决问题的一种途径和手段,具有 ...
- iOS截取http/https流量
0x01.Why? 做移动测试的同学经常会在app和server中间架设一个代理(例如charles或者fiddler等),由经代理,app和server之间的交互及交互内容变得可视化,使得我们不再摸 ...
- iOS 内存泄漏
我一直以为现在都是自动内存管理了,还哪有什么内存泄漏啊.一检测才知道,不是我太相信Xcode了,就是我太单纯了.iOS开发中遇到的内存泄漏主要有几下几种: (1)对象不能释放.使用Core Fou ...
- 大数据时代日志分析平台ELK的搭建
A,首先说说ELK是啥, ELK是ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.Logstash是数据源,ElasticSearch是分析数据的,Kiaba ...
- linux系统使用python监测网络接口获取网络的输入输出
#!/usr/bin/env Pythonimport timeimport sys if len(sys.argv) > 1: INTERFACE = sys.argv[1]else: INT ...
- response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路
今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html") ...
- GWT开端
这篇文章是转载的,原地址:GWT开端 以前的基于GWT的项目中广泛使用的还是gwt-windows-1.5.3这个版本的. 1.下载地址:http://code.google.com/webtoolk ...
- piwik安装部署最佳实践
1.piwik介绍 Piwik是一个PHP和MySQL的开放源代码的Web统计软件,它给你一些关于你的网站的实用统计报告,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等. Piwik拥有众多不同 ...