What a wonderful world ! Love67
Python 性能分析工具 cProfile
一般看看 py 脚本的性能, 可以使用古老的 linux 工具 time
, 或者自己在代码中写上 time.clock()
.
➜ codewars time python3 xingneng.py
python3 xingneng.py 4.64s user 0.02s system 99% cpu 4.698 total
这样粒度比较粗超, 进一步的分析可以借助标准库中的三个分析模块: cProfile
profile
hotshot
.
在python3
中, hotshot
已经被废弃了, 如果没有特殊需求, 建议使用 cProfile
. 本文简单介绍下使用 gprof2dot
和 cProfile
分析 python 脚本性能.
Python 爬虫解析器之 Beautiful Soup
Beautiful Soup 是 html/xml 的 python 解析器, 可以定位 DOM 元素信息.
该工具在爬虫阶段 中, 处于解析网页阶段, 可以简化正则表达式, 简单示例:
>>> from bs4 import BeautifulSoup as BS
>>> from urllib.request import urlopen
>>> soup = BS(urlopen('https://www.alipay.com/'))
>>> soup.title
<title>支付宝 知托付!</title>
1. 安装
pip 安装
pip install beautifulsoup4
近期笔记
网商工具平台 将近期Coding时需要谷歌的点,记录一下,主要是 Python Flask Jquery 方面
Python
Python 正则
Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。
正则表达式实例
- 字符类
实例 | 描述 |
---|---|
[Pp]ython | 匹配 “Python” 或 “python” |
rub[ye] | 匹配 “ruby” 或 “rube” |
[aeiou] | 匹配中括号内的任意一个字母 |
[0-9] | 匹配任何数字。类似于 [0123456789] |
[a-z] | 匹配任何小写字母 |
[A-Z] | 匹配任何大写字母 |
[a-zA-Z0-9] | 匹配任何字母及数字 |
[^aeiou] | 除了aeiou字母以外的所有字符 |
[^0-9] | 匹配除了数字外的字符 |
- 特殊字符类
实例 | 描述 |
---|---|
. | 匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式 |
\d | 匹配一个数字字符。等价于 [0-9] |
\D | 匹配一个非数字字符。等价于 [^0-9] |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v] |
\S | 匹配任何非空白字符。等价于 [^ \f\n\r\t\v] |
\w | 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’ |
\W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’ |
re.match && re.search
re.match(pattern, string, flags=0)
re.search(pattern, string, flags=0)
Recent Comments