Python3+Requests-HTML+Requests-File解析本地html文件

1、說明

解析html文件我喜歡用xpath不喜歡用BeautifulSoup,Requests的做者出了Requests-HTML後通常都用Requests-HTML。html

可是Requests-HTML一開始就是針對Requests從網絡請求頁面計的,並不能解析本地html文件。git

想用Requests-HTML解析本地html文件,咱們可藉助Requests-File庫實現。github

 

2、實現解析本地html文件

2.1 安裝Requests-File

pip install requests-file

 

2.2 實現代碼

mount方法相似掛載文件系統,但我不清楚其本質是將哪裏掛到哪裏,測試時使用相對(當前工做目錄)路徑找不到文件使用絕對路徑能夠,因此就使用了絕對路徑並未深究。網絡

import os
from requests_html import HTMLSession
from requests_file import FileAdapter

session = HTMLSession()

# 若是是網絡文件此時便可直接請求
# session.get("https://www.baidu.com")

# 若是是本地文件,須要如下代碼
# 掛載文件
session.mount('file://', FileAdapter())
# Windows系統路徑目錄分隔符爲反斜槓,但get須要正斜槓因此先進行一下替換
pwd = os.getcwd().replace("\\","/")
# 測試發現使用相對路徑讀不到文件,須要使用絕對路徑
html_obj = session.get(f'file:///{pwd}/want_to_parse.html')

 

參考:session

https://github.com/dashea/requests-file#requests-file測試

相關文章
相關標籤/搜索