介绍python的几个內建模块
1 python的时间模块datetime
取现在时间
1 | from datetime import datetime |
将指定日期转化为时间戳
1 | from datetime import datetime |
将时间戳转化为日期
1 | from datetime import datetime |
根据时间戳转化为本地时间和utc时间
1 | from datetime import datetime |
将字符串转化为时间
1 | from datetime import datetime |
将时间戳转化为字符串
1 | from datetime import datetime |
时间加减
1 | from datetime import datetime , timedelta |
设置时区
1 | from datetime import datetime, timedelta, timezone |
获取utc时区和时间,并且转化为别的时区的时间
1 | from datetime import datetime, timedelta, timezone |
2命名tuple
1 | #可命名tuple |
3顺序字典
1 | from collections import OrderedDict |
4计数器
1 | from collections import Counter |
5 itertools
从一开始生成自然数
1 | #itertools.count(start , step) |
在生成的可迭代序列中按规则筛选
1 | natuals = itertools.count(1) |
将两个字符串生成一个序列
1 | for c in itertools.chain('ABC','XYZ'): |
迭代器把连续的字母放在一起分组
1 | for key, group in itertools.groupby('AAABBBCCAAA'): |
6 contextmanager
open 返回的对象才可用with,或者在类中实现__enter__和__exit__可以使该类对象支持with用法
1 | class Query(object): |
简单介绍下原理
1 | with EXPR as VAR: |
通过python提供的装饰器contextmanager,作用在生成器函数,可以达到with操作的目的
1 | from contextlib import contextmanager |
可以看看contextmanager源码,了解下
1 | class GeneratorContextManager(object): |
也可以采用closing用法作用在一个对象上支持with open操作
1 | from contextlib import closing |
介绍下closing 实现原理
1 |
|
同样可以用contextmanager实现打印指定标签的上下文对象
1 |
|
上述代码执行结果为:
1 | <h1> |
7 urllib库
这是个非常重要的库,做爬虫会用到
采用urllib get网页信息
1 | from urllib import request |
在request中添加信息头模拟浏览器发送请求
1 | from urllib import request |
采用post方式获取信息, request.urlopen(),参数可以携带data发送给网址
1 |
|
采用代理方式获取网页信息
1 | proxy_handler = urllib.request.ProxyHandler({'http': 'http://www.example.com:3128/'}) |