当前位置: 首页 > news >正文

使用python脚本提取html网页上的所有文本信息

你可以使用 BeautifulSoup 库来提取 HTML 网页上的所有文本信息。以下是一个示例脚本:

步骤

  1. 安装 beautifulsoup4requests(如果尚未安装):

    pip install beautifulsoup4 requests
    
  2. Python 脚本

    import requests
    from bs4 import BeautifulSoup
    
    def extract_text_from_url(url):
        # 发送 HTTP 请求获取网页内容
        response = requests.get(url)
        response.encoding = response.apparent_encoding  # 处理编码问题
        
        # 确保请求成功
        if response.status_code != 200:
            print(f"无法获取网页: {response.status_code}")
            return None
        
        # 解析 HTML 内容
        soup = BeautifulSoup(response.text, 'html.parser')
    
        # 提取所有可见文本
        for script in soup(["script", "style"]):  # 移除 JavaScript 和 CSS
            script.extract()
        
        text = soup.get_text(separator="\n", strip=True)  # 获取所有文本,按换行符分隔
        return text
    
    if __name__ == "__main__":
        url = "https://example.com"  # 替换为你要爬取的网页
        text = extract_text_from_url(url)
        if text:
            print(text)
    

脚本说明

  • requests.get(url): 发送 HTTP 请求获取网页内容。
  • BeautifulSoup(response.text, 'html.parser'): 解析 HTML。
  • soup.get_text(separator="\n", strip=True): 提取所有文本并清理格式。
  • 移除 <script><style> 标签,避免获取无关代码。

示例输出

对于 https://example.com,可能输出:

Example Domain
This domain is for use in illustrative examples in documents.
...

如果你要提取特定元素的文本,比如 <p> 标签,可以使用:

paragraphs = [p.get_text(strip=True) for p in soup.find_all("p")]

需要处理复杂页面或防止反爬机制,可以考虑 seleniumscrapy

相关文章:

  • 【Linux】nmcli命令详解
  • 如何提升插屏广告在游戏APP广告变现表现,增加变现收益
  • 上位机知识篇---SSHSCP密钥与密钥对
  • LVS集群模式
  • linux笔记3----防火墙(ubuntu)
  • IoTDB 集群节点 IP 改变,如何更新集群
  • 更加通用的Hexo多端部署原理及实现,适用于各种系统之间
  • Apollo 9.0 速度动态规划决策算法 – path time heuristic optimizer
  • 关于 IoT DC3 中设备(Device)的理解
  • OpenCL实现深度图生成点云功能
  • Python的web框架Flask适合哪些具体的应用开发?
  • StartDT 刘莹:四大行业先锋的数据破局实践
  • 人工智能在临床应用、药物研发以及患者护理等方面的最新研究进展|顶刊速递·25-02-12
  • 数据结构-基础
  • nats 消息系统架构
  • 提示词生成新方法,用Make自动化生成
  • lobechat环境变量汇总(docker版)
  • Unity UI 道路线跟随:让图标沿道路轨迹移动
  • Springboot_实战
  • 全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售
  • 国防部:奉劝有关国家不要引狼入室,甘当棋子
  • 媒体起底“速成洋文凭”灰产链,专家:我们要给学历“祛魅”
  • 多地跟进官宣下调公积金贷款利率,最低降至2.1%
  • 全国铁路五一假期累计发送1.51亿人次,多项运输指标创历史新高
  • 马上评|演出服“穿过就退货”的闹剧不该一再重演
  • 吴清:基金业绩差的必须少收管理费,督促基金公司从“重规模”向“重回报”转变