大家好!
我是 Pxyup,今天我想通过开源项目 Fitter 代表您。
像素向上
/
钳工
从 API/网站收集信息的新方法
Fitter Fitter CLI
Fitter - 从 API/网站收集信息的新方法
Fitter CLI - 小型 cli 命令,提供 Fitter 的结果以供测试/调试/家庭使用
Fitter Lib - 作为库提供 fitter CLI 功能的库
信息收集方式
- 服务器 - 解析来自某些 API 或 http 请求的响应(使用 http.Client)
- 浏览器 - 使用 chromium docker playwright/cypress 模拟真实浏览器并获取 DOM 信息
- 静态 - 将静态字符串解析为数据
可解析的格式
- JSON - 解析 JSON 以获取特定信息
- XML - 解析 xml 树以获取特定信息
- HTML - 解析 dom 树以获取特定信息
- XPath - 解析 dom 树以获取特定信息,但通过 xpath
像图书馆一样使用
go get github.com/PxyUp/fitter
go get github.com/PxyUp/fitter
…它是如何创建的
2023 年,我提出了一个名为 Trip Searcher 的想法:
go get github.com/PxyUp/fitter
旅行搜索器将监控航班并返回从出发城市出发的潜在路线,包括到各个目的地的总价格,并向 Telegram 发送通知:
package main import ( "fmt" "github.com/PxyUp/fitter/lib" "github.com/PxyUp/fitter/pkg/config" "log" "net/http" ) func main() { res, err := lib.Parse
对于此设置,我需要一个国家、城市和机场代码列表来插入提到的网站。在开发过程中,我开始思考如果所有这些信息都可以轻松组合和解析以简化请求,那该有多方便,这引发了我称之为 Fitter 的项目的想法。
P.S.:该项目仅供个人使用。
装配工 CLI
无代码映射缩减器,以用户友好 (JSON) 或自定义格式返回数据,适合存储在数据库中或通过 HTTP 传输。
特点:
- 支持通过 HTML(查询)、JSON(gjson)、XML 和 xpath 解析器进行解析。
- 使用 Docker、Playwright(隐形模式)、HTTP 客户端、缓存、文件或传播字段,像浏览器一样检索数据,并支持自定义插件。
- 为 Playwright 和 HTTP 客户端提供代理支持。
- 可以通过插件将信息发送或存储到文件、webhook、控制台等。
- 处理所有数据类型:int、float、bool、array、object、null 和 string。
- 组合(map-reduce)并转换字段。
- 利用强大的 expr 库进行模板语法,该语法可在整个应用程序中使用。
- 作为独立的二进制文件和 Docker 版本提供。
- 允许限制浏览器/Docker 使用的请求计数或实例。
示例
静态生成:
这里我们将仅从硬编码生成静态数组
1. You enter a budget. 2. You specify a starting city or country. 3. You set the trip duration and a range of possible start and end dates.
1. Flight costs (parsed from Google or Kiwi). 2. Hotel prices (from Airbnb or Booking). 3. Food costs (retrieved from Numbeo).
获取当前时间
从网站获取信息并返回给用户。
./fitter_cli_v1.0.18-darwin-amd64 --url=https://raw.githubusercontent.com/PxyUp/fitter/refs/heads/master/examples/cli/config_static_connector.json
[ "PAGE: 1 INDEX: 0", "PAGE: 2 INDEX: 1", "PAGE: 3 INDEX: 2", "PAGE: 4 INDEX: 3", "PAGE: 5 INDEX: 4" ]
获取当前 Steam 销量
这将在提供的目录中创建sales.md
从 HackerNews 评论列表中获取每个内容的最佳新闻
在此配置中,我们使用模板语法将第一个请求的结果传播到下一个请求。
go get github.com/PxyUp/fitter
package main import ( "fmt" "github.com/PxyUp/fitter/lib" "github.com/PxyUp/fitter/pkg/config" "log" "net/http" ) func main() { res, err := lib.Parse
从网站上抓取所有图像并将其存储在本地
1. You enter a budget. 2. You specify a starting city or country. 3. You set the trip duration and a range of possible start and end dates.
1. Flight costs (parsed from Google or Kiwi). 2. Hotel prices (from Airbnb or Booking). 3. Food costs (retrieved from Numbeo).
钳工
Fitter 它是 Fitter CLI 的扩展版本,它具有:
- 触发器的Http服务器
- 以电报消息/webhook 的形式返回响应
- 目前还没有文档:)
用法
此工具可用于不同目的:
- 网页抓取工具
- 带有插件的数据抓取器
- 进行特定的负载测试
- 构建聊天机器人 - 我用它来自动化我的电报频道
例如这个工作每天都会发送最好的Dev.to文章:
计划
- 添加更多浏览器工具。比如点击/滚动(目前只能通过JS注入完成)
- 改进模板语法
- 添加自定义模板编辑器配置编辑器
- 可能会考虑使用 SASS 作为更适合的 CLI,为客户运行自定义工作流程并将结果返回到 APP/Watch/等。
真的等待您的反馈!有什么问题我都会问
以上是Fitter - 开源无代码工具,用于映射减少来自不同来源甚至更多的数据!的详细内容。更多信息请关注PHP中文网其他相关文章!

掌握Go语言中的strings包可以提高文本处理能力和开发效率。1)使用Contains函数检查子字符串,2)用Index函数查找子字符串位置,3)Join函数高效拼接字符串切片,4)Replace函数替换子字符串。注意避免常见错误,如未检查空字符串和大字符串操作性能问题。

你应该关心Go语言中的strings包,因为它能简化字符串操作,使代码更清晰高效。1)使用strings.Join高效拼接字符串;2)用strings.Fields按空白符分割字符串;3)通过strings.Index和strings.LastIndex查找子串位置;4)用strings.ReplaceAll进行字符串替换;5)利用strings.Builder进行高效字符串拼接;6)始终验证输入以避免意外结果。

thestringspackageingoisesential forefficientstringManipulation.1)itoffersSimpleyetpoperfulfunctionsFortaskSlikeCheckingSslingSubstringsStringStringsStringsandStringsN.2)ithandhishiCodeDewell,withFunctionsLikestrings.fieldsfieldsfieldsfordsforeflikester.fieldsfordsforwhitespace-fieldsforwhitespace-separatedvalues.3)3)

WhendecidingbetweenGo'sbytespackageandstringspackage,usebytes.Bufferforbinarydataandstrings.Builderforstringoperations.1)Usebytes.Bufferforworkingwithbyteslices,binarydata,appendingdifferentdatatypes,andwritingtoio.Writer.2)Usestrings.Builderforstrin

Go的strings包提供了多种字符串操作功能。1)使用strings.Contains检查子字符串。2)用strings.Split将字符串分割成子字符串切片。3)通过strings.Join合并字符串。4)用strings.TrimSpace或strings.Trim去除字符串首尾的空白或指定字符。5)用strings.ReplaceAll替换所有指定子字符串。6)使用strings.HasPrefix或strings.HasSuffix检查字符串的前缀或后缀。

使用Go语言的strings包可以提升代码质量。1)使用strings.Join()优雅地连接字符串数组,避免性能开销。2)结合strings.Split()和strings.Contains()处理文本,注意大小写敏感问题。3)避免滥用strings.Replace(),考虑使用正则表达式进行大量替换。4)使用strings.Builder提高频繁拼接字符串的性能。

Go的bytes包提供了多种实用的函数来处理字节切片。1.bytes.Contains用于检查字节切片是否包含特定序列。2.bytes.Split用于将字节切片分割成smallerpieces。3.bytes.Join用于将多个字节切片连接成一个。4.bytes.TrimSpace用于去除字节切片的前后空白。5.bytes.Equal用于比较两个字节切片是否相等。6.bytes.Index用于查找子切片在largerslice中的起始索引。

theEncoding/binarypackageingoisesenebecapeitProvidesAstandArdArdArdArdArdArdArdArdAndWriteBinaryData,确保Cross-cross-platformCompatibilitiational and handhandlingdifferentendenness.itoffersfunctionslikeread,写下,写,dearte,readuvarint,andwriteuvarint,andWriteuvarIntforPreciseControloverBinary


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)