码迷,mamicode.com
首页 > 编程语言 > 详细

Python领域最伟大工程师Kenneth Reitz又出来搞事了!

时间:2018-08-18 16:24:37      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:uil   资料   整理   理解   https   tps   小伙伴   original   XML   

 

技术分享图片
 

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/)

其实通过python的学习,小编也体会到了很多,虽然上手容易,可是进阶难!作为一个过来人,小编整理了一些学习资料,希望会对个位的学习起到帮助!
有需要的小伙伴可以扫下方微信二维码,或者直接添加微信号:kele22558!

 
技术分享图片
 
 
技术分享图片
 

Python领域最伟大工程师Kenneth Reitz又出来搞事了!

标签:uil   资料   整理   理解   https   tps   小伙伴   original   XML   

原文地址:https://www.cnblogs.com/whyfj/p/9497397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!