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

x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具

目录

    • 简介
    • 首次用户
    • 技术特点
    • 竞品和相关作品
    • 进一步阅读

简介

trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包:

  1. 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能
  2. 可帮助网站导航和从站点地图和提要中提取链接
  3. 无需数据库,输出即可转换为各种常用格式(txt,csv,json,xml,xmltei)
  4. 可用于搜索引擎优化

首次用户

  1. 使用 x env use trafilatura 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 trafilatura 命令常用功能的 demo 示例,可以帮你快速上手 trafilatura 。

  3. 使用案例

    trafilatura-1min-cn

    # 安装 trafilatura
    x env use trafilatura# 提取指定网页的主要内容
    trafilatura -u "https://www.x-cmd.com/start"# 使用站点地图抓取 x-cmd 关于 7za 的网站
    trafilatura --sitemap "https://www.x-cmd.com" --list | grep 7za > list.txt# 批量处理 URL 列表,并存储结果到目录中
    trafilatura -i list.txt -o txtfiles# 优化 bing 搜索结果
    trafilatura --links --xml -u "https://www.bing.com/search?q=gitea"
    

技术特点

  1. 稳健高效的提取:
    1. 除了可以提取主要文本之外,还可以提取元数据(标题、作者、日期、网站名称、类别和标签),结构化信息(段落、标题、列表、引号、代码、换行符、行内文本格式)
    2. 从原始 HTML 转换为关键部分,去除由重复出现的元素(页眉和页脚、广告、链接/博客等)组成的噪音
  2. 支持 URL 管理(黑名单、过滤和重复数据删除)
  3. 支持可选附加组件:
    1. 对提取内容进行语言检测
    2. 图形用户界面 (GUI)
    3. 速度优化
  4. 更加高效、准确。从官方给出的评估和替代方案的数据来看,该工具的性能明显优于其他开源解决方案。

竞品和相关作品

  1. goose3:用 Java 编写的文章提取器。
  2. readabilipy:Python 中的简单 HTML 内容提取器。
  3. news-please:是一个开源、易于使用的新闻爬虫,可以从几乎所有新闻网站中提取结构化信息。

进一步阅读

  • trafilatura 源代码 - trafilatura 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 trafilatura 和参与社区贡献。
  • trafilatura 官网 - 提供了非常丰富的使用案例和技术分析文档。
  • 使用 Trafilatura 进行文本抓取 - 该文章介绍了如何使用 trafilatura 快速提取网页问题。

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min

相关文章:

  • async和await关键字
  • 解析千兆多模光模块SFP-GE-SX
  • 可视化速通知识点
  • kotlin isEmpty/isNotEmpty/isNullOrEmpty和isBlank/isNotBlank/isNullOrBlank
  • 数据结构期末复习(1)数据结构和算法 线性表
  • 个人实际开发心得感悟及学习方法
  • Vue中的组件通信方式及应用场景
  • 2024年道路运输企业主要负责人证考试题库及道路运输企业主要负责人试题解析
  • 各种基础环境搭建
  • Danil Pristupov Fork(强大而易用的Git客户端) for Mac/Windows
  • Keil5,ARM编译器 软件优化注意事项
  • 如何利用firewalld抵御DDOS攻击
  • pyqt6 + pycharm 搭建+使用入门
  • 两个bash函数创建一个数据库
  • C++笔记之cout高亮输出以及纯C++实现一个彩色时钟
  • [译] 怎样写一个基础的编译器
  • docker容器内的网络抓包
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • ReactNativeweexDeviceOne对比
  • spring boot下thymeleaf全局静态变量配置
  • Travix是如何部署应用程序到Kubernetes上的
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 关于springcloud Gateway中的限流
  • 将回调地狱按在地上摩擦的Promise
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 浏览器缓存机制分析
  • 每天一个设计模式之命令模式
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 7行Python代码的人脸识别
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • !!java web学习笔记(一到五)
  • #Java第九次作业--输入输出流和文件操作
  • (1)虚拟机的安装与使用,linux系统安装
  • (26)4.7 字符函数和字符串函数
  • (39)STM32——FLASH闪存
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (利用IDEA+Maven)定制属于自己的jar包
  • (七)Java对象在Hibernate持久化层的状态
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十)T检验-第一部分
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)LINQ之路
  • (转)重识new
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET中 MVC 工厂模式浅析
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • [ C++ ] STL_list 使用及其模拟实现
  • [ SNOI 2013 ] Quare
  • [AIGC] Kong:一个强大的 API 网关和服务平台