Python領域最偉大工程師Kenneth Reitz又出來搞事了!

來源:互聯網
上載者:User

標籤: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)AboutApplicationsQuotesGetting StartedHelpPython 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又出來搞事了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.