当前位置 : 主页 > 编程语言 > python >

资源整合

来源:互联网 收集:自由互联 发布时间:2022-09-02
一、5 个值得在 2018 年关注的库 Web 领域:Sanic 这个库和 Flask 类似,但是比它快很多,速度能在测试中达到每秒 36000 次请求。在2017年的 Star 增长数几乎是翻了一倍。Gotta go faster! 环境与

一、5 个值得在 2018 年关注的库

Web 领域:Sanic

这个库和 Flask 类似,但是比它快很多,速度能在测试中达到每秒 36000 次请求。在2017年的 Star 增长数几乎是翻了一倍。Gotta go faster!

环境与包管理:Pipenv

这个库相当于是环境管理和包管理二合一,由 Kenneth Reitz (Requests 的作者 )编写,现在移交给 Python 官方来维护,提供比 pip 体验更好的开发包管理。它的 Slogon 是Python Development Workflow for Humans,用来解决各种环境不一致、安装包的问题。

爬虫:Requestium

现在反爬虫技术越来越厉害,常见的请求 + 解析爬虫随着频率变大和前端开发的复杂化变得并不是那么奏效。Requestium 的好处是,结合了 Chrome 59 以后的 headless 无头特性(代替了 phantomjs)。虽然效率稍微低一点,但是稳,前端渲染的网页也可以爬取解析。是 Requests, Selenium 和 Parsel 的结合体。

深度学习:Caffe2

文本处理:FlashText

这个库的开发者在 medium 上发了一篇文章,标题是:​​Regex was taking 5 days to run. So I built a tool that did it in 15 minutes​​. (正则要花5天时间才能完成,所以我做了个工具在15分钟内搞定)。这个库可以快速进行大规模语料库的文本搜索与替换。当关键词数量>500 的时候,FlashText 的搜索速度开始超过正则。

作者:麻瓜编程
链接:​​​https://www.zhihu.com/question/24590883/answer/286407918​​​ 来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

二、Awesome Python中文版来啦!

引自:​​Python 资源大全​​​ (本文由 ​​伯乐在线​​ - ​​艾凌风​​ 翻译
英文出处:​​vinta/awesome-python​​)

三、python 之网络和邮件

  • 作者:赖明星
  • 链接:​​https://www.zhihu.com/question/24590883/answer/134253100​​

1. yagmail

果使用 ​​yagmail​​,发送一个带附件的邮件,只需要2行代码:

import yagmail yag = yagmail.SMTP(user='joy_lmx@163.com', password='nicai?', host='smtp.163.com', port='25') yag.send(user, subject = "I now can send an attachment", attachments=['a.txt', 'b.jpg'])

2. requests

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text u'{"type":"User"...' >>> r.json() {u'private_gists': 419, u'total_private_repos': 77, ...}

3. psutil

​​psutil​​​ 是用来获取操作系统监控以及进程管理的,如果你正在写一个监控系统(或脚本),赶紧去试试。这么说吧,我曾经使用psutil把网易内部的一个监控模块,从 \(1000+\) 行重构到了\(100+\) 行。
我这里推荐的几个库,可能 ​​​yagmail​​​对最多人有用。而 ​​psutil​​​,对专业的人士最有用。如果你要写一个监控系统,不使用 ​​psutil​​​的话,只能直接去 ​​/proc​​​ 目录下读取想用的文件进行计算,或者执行 ​​iostat​​​、​​vmstat​​​、​​df​​​ 等 ​​linux​​​ 命令获取命令输出,不管哪一种方法,都要处理很多繁琐的细节。有了 ​​psutil​​ 以后,就轻松多了。贴段代码大家感受一下:

def get_network_info(self):
""" psutil.net_io_counters()
snetio(bytes_sent=12541464,
bytes_recv=21459989,
packets_sent=80164,
packets_recv=88134,
errin=0, errout=0, dropin=0, dropout=0)
"""
return psutil.net_io_counters()

def get_memory_used(self):
""" psutil.virtual_memory()
svmem(total=4159041536, available=3723980800,
percent=10.5, used=1599082496, free=2559959040,
active=587403264, inactive=897105920,
buffers=95989760, cached=1068032000)
"""
memory_info = psutil.virtual_memory()
memory_used = ( memory_info.total * memory_info.percent / 100 ) / 1024 / 1024
return memory_used

此外,使用越来越广泛的监控工具 glances(如果没用过,要不现在就是试试?),就是用 psutil 收集相关数据的。

4. BeautifulSoup

如果你写爬虫,还在用 ​​XPath​​​ 解析 HTML,那赶紧用用 ​​BeautifulSoup​​​,比 ​​XPath​​​ 好用一百倍;如果你还在用正则表达式从 HTML 中获取内容,​​BeautifulSoup​​​ 能让你好用到哭。(补充:评论里大家都说 ​​XPath​​​ 更好用,难道是我思维方式和大家不一样?)
​​​BeautifulSoup​​​ 是用来解析 HTML 的,特点就是好用,有人吐槽 ​​BeautifulSoup​​​ 慢?我不在乎 ​​BeautifulSoup​​​ 比 ​​XPath​​​ 慢多少,我只知道,我的时间比机器的更宝贵。
例如,要找到页面中所有的 links,如下所示:

来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

from bs4 import BeautifulSoup
import requests

url = 'https://www.biaodianfu.com'
r = requests.get(url, timeout=20)
soup = BeautifulSoup(r.content, 'html.parser')
print(type(soup))<class 'bs4.BeautifulSoup'>for link in soup.find_all('a'):
print(link.get('href'))https://www.biaodianfu.com/category/product-design
https://www.biaodianfu.com/category/share-discovery
https://www.biaodianfu.com/category/bigdata
https://www.biaodianfu.com/category/programming
https://www.biaodianfu.com/category/management
https://www.biaodianfu.com/category/architecture
https://www.biaodianfu.com/category/marketing
https://www.biaodianfu.com
http://www.biaodianfu.com/
https://www.biaodianfu.com/about
https://www.biaodianfu.com/archives
.....

有了BeautifulSoup以后,爬虫操作就变得特别简单了。脏活累活别人都帮忙做好了。

更多参考:​​Python数据解析工具:Beautiful Soup​​

5. utils

除了开源的库以外,还有些开源项目的 ​​DataStruct.py​​​ ​​helper.py​​​ ​​utils.py​​ 文件,也值得看一看。里面很多好东西,都是可以直接拿过来用的。

四、怎么样才算是精通 Python?

五、你写论文时发现了哪些神网站?

六、LaTeX笔记|基本功能(一)

七 完全云端运行:使用谷歌CoLaboratory训练神经网络

八、谷歌发布 TensorFlow 1.5,全面支持动态图机制和 TensorFlow Lite

探寻有趣之事!



上一篇:TensorBoard的使用
下一篇:没有了
网友评论