当前位置: 首页 > 工具软件 > Requests-HTML > 使用案例 >

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

祁承嗣
2023-12-01

一、说明

解析html文件我喜欢用xpath不喜欢用BeautifulSoup,Requests的作者出了Requests-HTML后一般都用Requests-HTML。

但是Requests-HTML一开始就是针对Requests从网络请求页面计的,并不能解析本地html文件。

想用Requests-HTML解析本地html文件,我们可借助Requests-File库实现。

 

二、实现解析本地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')

 

参考:

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

转载于:https://www.cnblogs.com/lsdb/p/10233609.html

 类似资料: