Python 大神 kennethreitz 又搞事了

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 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)


目录
相关文章
|
7月前
|
数据采集 人工智能 Python
好玩的 Python 代码
好玩的 Python 代码
57 0
|
8月前
|
数据采集 算法 Python
python3的几个大坑
python3的几个大坑
60 1
|
8月前
|
人工智能 小程序 开发工具
有意思的python小程序分享——使用python做一个五子棋
有意思的python小程序分享——使用python做一个五子棋
107 0
|
前端开发 关系型数据库 API
【Python入门系列】第十四篇:Python Web开发
PythonWeb开发是使用Python语言进行Web应用程序开发的过程。Python是一种简洁、易读且功能强大的编程语言,因此在Web开发领域广受欢迎。
162 1
|
存储 IDE JavaScript
python教程基础篇(一看就懂)
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。
python教程基础篇(一看就懂)
|
机器学习/深度学习 数据采集 人工智能
轻轻松松学会Python入门一:初识Python
首先我们要知道Python是一种计算机编程语言,是一种动态的、面向对象的脚本语言,最初是为编写自动化脚本(shell)而设计的,随着版本的不断更新和新语言功能的加入,越来越多的被用于独立的、大型的项目开发。Python在设计上坚持清晰统一的风格,这使得Python成为一门易读、易维护、应用广泛的语言,深受广大用户的喜爱。
193 0
轻轻松松学会Python入门一:初识Python
|
Python 容器
python真的很骚可惜你不会
int类型:整数 str类型:字符串、以成对单引号或双引号包裹 float类型:浮点数 bool:True或False
python真的很骚可惜你不会
|
算法 JavaScript Unix
怎么样才算是精通 Python?
程序员写过简历的都知道,先说精通->后说熟悉->最后说了解,要把精通放在最前面。 But 很少人会说自己精通Python,这也是因为Python的应用领域是真的多,最好还是说自己精通的领域,而不是语言,除非你真的是大佬。
269 0
怎么样才算是精通 Python?
|
机器学习/深度学习 程序员 C语言
最近Python那么火,学习Python究竟能干些什么?
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
342 0
最近Python那么火,学习Python究竟能干些什么?