Python 大神 kennethreitz 又搞事了

简介: Python 大神 kennethreitz 又搞事了

Python 程序员,特别是同学都知道 HTTP 请求库 Requests,Requests 完美体现了 “for Humans” 这个词要表达的意思。

它的作者是高颜值的摄影爱好者 kennethreitz ,kennethreitz 写过很多的库, 除了 Requests 、还有 pipenv,一个更好的集成了包管理和环境管理的工具。日期时间库 maya 等等。

这两天他又搞出一个新项目叫 Requests-HTML,HTML Parsing for Humans 链接:https://github.com/kennethreitz/requests-html ,顾名思义,它是用于解析 HTML 文档的。短短两天项目的 Star 已经超过3000

以前我们写爬虫,解析 HTML 页面通常会选择 BeautifulSoup 或者是 lxml 库,虽然 BeautifulSoup 的 API 比较友好,但是它的解析性能低下,而 lxml 使用 xpath 语法,解析速度快,但是代码没什么可读性,现在 kennethreitz 搞出来的这个 html 解析库继承了 requests 库的优良传统 —- for humans。

我们知道 requests 只负责网络请求,但不对响应结果进行解析,你可以把 requests-html 理解为可以解析 html 文档的 requsts 库。

Requests-HTML 的代码量其实非常少,目前不到 200 行,都是基于现有的框架进行二次封装,使得开发者使用的时候更方便调用。它依赖于 PyQuery、Requests、lxml 等库。

安装

pip install requests-html

使用方法

>>> from requests_html import session
# 返回一个Response对象
>>> r = session.get('https://python.org/')
# 获取所有链接
>>> r.html.links
{'/users/membership/', '/about/gettingstarted/'}
# 使用css选择器的方式获取某个元素
>>> about = r.html.find('#about')[0]
>>> print(about.text)
About
Applications
Quotes
Getting Started
Help
Python Brochure

另外,还有一个非常吸引人的特点是,它能将html转换为markdown文本

# 将html转换为Markdown文本
>>> print(about.markdown)
* [About](/about/)
  * [Applications](/about/apps/)
  * [Quotes](/about/quotes/)
  * [Getting Started](/about/gettingstarted/)
  * [Help](/about/help/)
  * [Python Brochure](http://brochure.getpython.info/)

更多使用方法可以参考文档:https://github.com/kennethreitz/requests-html

那么元类到底有什么用处呢?我们真的需要元类吗?请关注下回讲解,(留给大家多些时间消化,O(∩_∩)O)


目录
相关文章
|
6天前
|
人工智能 小程序 开发工具
有意思的python小程序分享——使用python做一个五子棋
有意思的python小程序分享——使用python做一个五子棋
59 0
|
10月前
|
数据采集 机器学习/深度学习 人工智能
学了 Python 能用来做什么?
在因大数据、人工智能为人所熟知之前,Python 就已经在 Web 开发领域被广泛使用,产生了 Django、Flask、Tornado 等 Web 开发框架。得益于其简洁的语法和动态语言特性,Python 的开发效率很高,因而深受创业团队的青睐
|
11月前
|
存储 Python
|
机器学习/深度学习 数据采集 人工智能
轻轻松松学会Python入门一:初识Python
首先我们要知道Python是一种计算机编程语言,是一种动态的、面向对象的脚本语言,最初是为编写自动化脚本(shell)而设计的,随着版本的不断更新和新语言功能的加入,越来越多的被用于独立的、大型的项目开发。Python在设计上坚持清晰统一的风格,这使得Python成为一门易读、易维护、应用广泛的语言,深受广大用户的喜爱。
152 0
轻轻松松学会Python入门一:初识Python
|
Python 容器
python真的很骚可惜你不会
int类型:整数 str类型:字符串、以成对单引号或双引号包裹 float类型:浮点数 bool:True或False
python真的很骚可惜你不会
|
算法 JavaScript Unix
怎么样才算是精通 Python?
程序员写过简历的都知道,先说精通->后说熟悉->最后说了解,要把精通放在最前面。 But 很少人会说自己精通Python,这也是因为Python的应用领域是真的多,最好还是说自己精通的领域,而不是语言,除非你真的是大佬。
193 0
怎么样才算是精通 Python?
|
机器学习/深度学习 人工智能 Java
最近Python那么火,学习Python究竟能干些什么?
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
188 0
最近Python那么火,学习Python究竟能干些什么?
|
数据采集 移动开发 安全
这才是使用Python的正确姿势!
前段时间,被儿子鄙视了,为了找回作为父亲的尊严,我豁出去了,本以为是根硬骨头,结果,太出乎意外了……
110 0
这才是使用Python的正确姿势!
|
运维 前端开发 安全
为什么我不建议你搞Python
之所以从事Python是因为很不爽PHP的语法,虽然PHP被称为世界上最好的编程语言。于是,为了这个原因,付出了沉重的代价,失业了好几回。 身边有些人时不时总是会问我一些Python的技术问题,但是大多数情况下都是比较基础的。要不是近几年Python火了起来,说不定我真的转行送外卖了。 对于Python这么语言,可以当作一门兴趣或爱好来学习,但是若是想找到份好的工作还是谨慎为主,这也是为什么不建议你搞Python的原因。
为什么我不建议你搞Python