当前位置: 首页 > 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

http://www.dtcms.com/a/17959.html

相关文章:

  • 【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智能割草机器人全新系列正式开售
  • 前端 安全
  • OpenEuler学习笔记(三十三):在 OpenEuler 上搭建 OpenGauss 数据库环境
  • RedHat8安装postgresql15和 postgis3.4.4记录及遇到的问题总结
  • WIN服务器快捷命令大全
  • poi 将图片写入到excel文件中
  • ssm校园二手交易平台小程序
  • STM32 GPIO误触发问题全解析:从噪声干扰到电路设计优化
  • (ICLR-2025)你只采样一次:通过自协作扩散 GAN 驯服一步文本到图像合成
  • Apache服务器的基础配置(认证考试笔记)
  • React源码揭秘 | scheduler 并发更新原理