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测试

相关文章
相关标签/搜索