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


    一、说明

    解析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

  • 相关阅读:
    APP支付,后台支付宝生成预支付设置超时时间timeout_express无效,使用time_expire代替
    一些学习资料
    自连接
    模型成员
    模型查询
    模板
    管理站点
    视图
    设计模型
    搭建开发环境
  • 原文地址:https://www.cnblogs.com/lsdb/p/10233609.html
Copyright © 2020-2023  润新知