Requests-HTML

2021-01-16 開源中國

Requests-HTML 對 Requests 進行了封裝,添加了解析 HTML 的接口,是一個 Python 的 HTML 解析庫。

我們知道 requests 只負責網絡請求,不會對響應結果進行解析,因此可以把 requests-html 理解為可以解析 HTML 文檔的 requsts 庫。requests-html 的代碼量非常少,都是基於現有的框架進行二次封裝,開發者使用時可更方便調用。它依賴於 PyQuery、requests、lxml 等庫。

requests-html 具有以下特性

完全支持 JavaScript

CSS 選擇器

XPath 選擇器

模擬用戶代理(如同真正的網絡瀏覽器)

自動跟蹤重定向

連接池和 cookie 持久化

安裝

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 爬蟲實戰(二):使用 requests-html
    Python 爬蟲實戰(二):使用 requests-htmlPython 爬蟲實戰(一):使用 requests 和 BeautifulSoup,我們使用了 requests 做網絡請求,拿到網頁數據再用 BeautifulSoup 解析,就在前不久,requests 作者 kennethreitz
  • 使用Python的Requests-HTML庫進行網頁解析
    使用pip install requests-html安裝,上手和Reitz的其他庫一樣,輕鬆簡單:這個庫是在requests庫上實現的,r得到的結果是Response對象下面的一個子類,多個一個html的屬性。所以 requests 庫的響應對象可以進行什麼操作,這個 r 也都可以。
  • requests-html:最簡單的爬蟲框架,看完你就會了
    很多朋友都聽說過Python的大名,而Python也擁有眾多的爬蟲框架,其中最簡單的莫過於requests-html了。它和著名的網絡請求庫requests是同一個作者,著重於XML數據提取,可以說是最簡單的爬蟲框架了。
  • requests-html:最簡單的爬蟲框架,看完你就會了
    很多朋友都聽說過Python的大名,而Python也擁有眾多的爬蟲框架,其中最簡單的莫過於requests-html了。它和著名的網絡請求庫requests是同一個作者,著重於XML數據提取,可以說是最簡單的爬蟲框架了。安裝requests-html安裝這個類庫非常簡單,直接通過pip就可以安裝了。
  • Python requests從此不再中文亂碼
    Python使用requests庫做爬蟲時,經常會出現亂碼問題,這裡做一下歸納總結一、獲取網頁內容分析: res = requests.get(「http://www.baidu.com「) res.text返回的是Unicode型的數據。
  • python之requests庫使用
    requests庫安裝和文檔地址利用pip可以非常方便的安裝:pip install requests中文文檔:http://docs.python-requests.org/zh_CN/latest/index.html
  • Python-第三方庫requests詳解
    轉自:http://www.itwhy.org/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/python/python-%E7%AC%AC%E4%B8%89%E6%96%B9-http-%E5%BA%93-requests-%E5%AD%A6%E4%B9%A0.html requests是python的一個HTTP客戶端庫,跟urllib
  • Python基礎學習之requests基礎(一)
    2.小試牛刀>>>importrequests>>>r=requests.get('http://www.zhidaow.com')# 發送請求>>>r.status_code# 返回碼200>>>r.headers['content-type']# 返回頭部信息'text/html; charset
  • Python篇:Requests獲取網頁源碼(爬蟲基礎)
    頭獲取原始碼直接獲取: import requestshtml = requests.get(&39;)print html.text 修改http頭: import requestsimport re 34;utf-8&hea是我們自己構造的一個字典,裡面保存了user-agent。
  • Python 之旅 – HTTP 服務 – Requests 庫的使用 38
    = requests.get("https://www.baidu.com")if r.status_code == 200: print r.headers.get('content-type') print r.json()# 輸出text/htmlValueError Traceback (most recent call
  • Python爬蟲之Requests 庫的介紹和操作實例
    模擬瀏覽器打開網頁,獲取網頁中我們想要的那部分數據瀏覽器打開網頁的過程:當你在瀏覽器中輸入地址後,經過DNS伺服器找到伺服器主機,向伺服器發送一個請求,伺服器經過解析後發送給用戶瀏覽器結果,包括html
  • 用Xpath解析html文檔
    html文檔的解析方式有三種,正則、BS4和Xpath,xpath是其中應用最多最廣的,也是工作中最常用的,xpath非常複雜,並不好學,如果僅僅是用在爬蟲中的話,那掌握一些基本語法即可,本文將於Python語言為基礎,講解利用Xpath解析html文檔
  • Python爬蟲第一課:requests的使用
    前言requests模塊的入門使用注意是requests不是request.1、為什麼使用requests模塊,而不是用python自帶的urllibrequests的底層實現就是urllibrequests在python2 和python3中通用,方法完全一樣requests簡單易用requests能夠自動幫助我們解壓
  • 使用requests爬取拉勾網python職位數據
    代碼部分並沒有做封裝,數據請求也比較簡單,所以該項目只是為了熟悉requests爬蟲的基本原理,無法用於穩定的爬蟲項目。爬蟲工具這次使用Requests庫發送http請求,然後用lxml.etree解析HTML文檔對象,並使用xpath獲取職位信息。
  • [接口測試_B] 10 requests處理SSL證書驗證
    SSL 驗證默認是開啟的,如果證書驗證失敗,Requests 會拋出 SSLError:>>> import requests>>> requests.get('https://github.com')requests.exceptions.SSLError: HTTPSConnectionPool(host='github.com', port=443): Max
  • 爬蟲 之Requests庫的詳細使用
    狀態碼判斷狀態碼常用來判斷請求是否成功,而requests海亭公路一個內置的狀態碼查詢對象request.code,示例如下:import requestsr = requests.get(&39;)exit() if not r.status_code == requests.codes.ok else print(&39;)
  • 「爬蟲教程」第二章:requests的使用
    requests庫呢,就像個媽媽一樣,漂亮的衣服都幫我們織好了,我們需要穿到的時候叫一聲媽,就可以穿上好看的衣服。如果需要使用requests庫,需要先安裝pip install requeststips: 以後很多庫使用pip下載都很方便,另外也可以在pycharm 的Project Interpreter 那裡搜索安裝。
  • requests爬蟲,發起請求提取內容常用套招-python爬蟲
    模塊的導入import requests發起請求,獲取響應response = requests.get(網址,請求頭)提取響應內容content = response.content.decode()使用xpath解析內容1,導入模塊,創建對象from lxml
  • python代碼福利:用requests爬取B站視頻封面
    比較遺憾的是,我嘗試用requests-html的render函數渲染瀏覽器實際頁面,也沒有成功。部分代碼截圖from requests_html import HTMLSessionuserinfo_url
  • python代碼福利:用requests爬取B站視頻封面
    比較遺憾的是,我嘗試用requests-html的render函數渲染瀏覽器實際頁面,也沒有成功。沒有實際內容的網頁內容這時候就要說回到異步加載了,既然這些信息是異步加載出來的,那麼我們看看能否從網頁中找到一些線索。實際上還真有這麼一個東西,就是下圖中search這個請求,它請求的地址是api開頭的網址,一般都是幹返回JSON數據的。