Skip to content

Latest commit

 

History

History
191 lines (147 loc) · 11.1 KB

golang.md

File metadata and controls

191 lines (147 loc) · 11.1 KB

Golang 网页抓取

此列表包含与 Web 抓取和数据处理相关的 Golang 库。

网络请求工具

  • 通用
    • net - 操作网络的内置包。
    • net/http - 能够进行 HTTP 编程的内置包
  • 异步

Web 抓取框架

  • Pholcus - Pholcus 是一款分布式、高并发、功能强大的网络爬虫软件。
  • go_spider - 一个灵活、模块化、可扩展的 Go 并发爬虫(spider)框架。
  • ants-go - golang 中的分布式的爬虫引擎。
  • geziyor - Geziyor,一个超快的网页抓取框架,支持 JS 渲染。
  • colly - 快速优雅的抓取框架
  • dataflowkit - 数据流工具包 - 从网站中提取结构化数据。
  • ferret - 具有声明性查询语言的网络抓取工具。
  • crawlab - 功能强大的爬虫框架。

HTML/XML

  • encoding/xml - 内置包实现了一个简单的 XML 1.0 解析器。

文本处理

用于解析和操作纯文本的库。

  • 通用
    • regexp - 内置包实现正则表达式搜索。

特定格式处理

用于解析和处理特定文本格式的库。

  • 通用
    • encoding/json - 内置包实现了 RFC 4627 中定义的 JSON 编码和解码。
    • allot - CLI 工具和机器人的占位符和通配符文本解析。
    • bbConvert - 将 bbCode 转换为 HTML,允许您添加对自定义 bbCode 标签的支持。
    • blackfriday - Go 中的 Markdown 处理器。
    • bluemonday - HTML Sanitizer。
    • editorconfig-core-go - Go 的 Editorconfig 文件解析器和操纵器。
    • enca - libenca 的最小 cgo 绑定。
    • genex - 计算正则表达式并将其扩展为所有匹配的字符串。
    • github_flavored_markdown - GitHub 风格的 Markdown 渲染器(使用 blackfriday),带有围栏代码块突出显示,可点击的标题锚链接。
    • go-humanize - 将时间、数字和内存大小格式化为人类可读格式。
    • go-nmea - Go 语言的 NMEA 解析器库。
    • go-runewidth - 获取字符或字符串的固定宽度的函数。
    • go-slugify - 使用多种语言支持制作漂亮的 slug。
    • go-vcard - 解析和格式化 vCard。
    • gofeed - 在 Go 中解析 RSS 和 Atom 提要。
    • gographviz - 解析 Graphviz DOT 语言。
    • gommon/bytes - 将字节格式化为字符串。
    • gonameparts - 将人名解析为单独的名称部分。
    • GoQuery - GoQuery 为 Go 语言带来了类似于 jQuery 的语法和一组特性。
    • goregen - 从正则表达式生成随机字符串的库。
    • gotext - Go 的 GNU gettext 实用程序。
    • guesslanguage - 确定 unicode 文本的自然语言的函数。
    • inject - 包注入提供了一个基于反射的注入器。
    • mxj - 将 XML 编码/解码为 JSON 或 map[string]interface{};使用点符号路径和通配符提取值。替换 x2j 和 j2x 包。
    • sh - 一个 shell 解析器和格式化程序。
    • slug - URL 友好的 slugify,支持多种语言。
    • Slugify - 一个处理字符串的 Go slugify 应用程序。
    • toml - TOML 配置格式(带反射的编码器/解码器)。
    • xpath - Go 的 XPath 包。
    • xquery - XQuery 允许您使用 XPath 表达式从 HTML/XML 文档中提取数据。

自然语言处理

用于处理人类语言的库。

  • dpar - 基于转换的统计依赖解析器。
  • go-eco - 相似度、相异度和距离矩阵;多样性、公平和不平等措施;物种丰富度估算器;共倾模型。
  • go-i18n - 用于处理本地化文本的包和随附工具。
  • go-mystem - CGo 绑定到 Yandex.Mystem - 俄罗斯形态分析仪。
  • go-nlp - 用于处理离散概率分布的实用程序和其他对 NLP 工作有用的工具。
  • go-stem - 搬运工词干算法的实现。
  • go-unidecode - Unicode 文本的 ASCII 音译。
  • go2vec - word2vec 嵌入的阅读器和实用功能。
  • gojieba - 中文分词算法。
  • jieba - jieba 的 Go 实现。
  • golibstemmer - 雪球 libstemmer 库的 Go 绑定,包括 porter 2。
  • gounidecode - Go 的 Unicode 音译(也称为 unidecode)。
  • icu - icu4c C 库检测和转换功能的 Cgo 绑定。保证与版本 50.1 的兼容性。
  • libtextcat - libtextcat C 库的 Cgo 绑定。保证与 2.2 版本的兼容性。
  • MMSEGO - 这是一个中文分词算法,MMSEG的 GO 实现。
  • paicehusk - Paice/Husk 词干算法的 Golang 实现。
  • porter - 这是 Martin Porter 的 Porter 词干算法 C 实现的一个相当简单的移植。
  • porter2 - 真正快速的 Porter 2 词干分析器。
  • prose - 支持标记化、词性标记、命名实体提取等的文本处理库。
  • RAKE.go - 快速自动关键字提取算法 (RAKE) 的 Go 端口。
  • segment - 用于执行 Unicode 文本分割的 Go 库,如 Unicode 标准附件 #29 中所述/)
  • sentences - 句子标记器:将文本转换为句子列表。
  • snowball - Go 的 Snowball 词干分析器端口(cgo 包装器)。提供词干提取功能。
  • Snowball native
  • stemmer - Go 编程语言的 Stemmer 包。包括英语和德语词干分析器。
  • textcat - 用于基于 n-gram 的文本分类的 Go 包,支持 utf-8 和原始文本。
  • whatlanggo - Go 的自然语言检测包。支持 84 种语言和 24 种文字(书写系统,例如拉丁文、西里尔文等)。
  • when - 具有可插入规则的自然 EN 和 RU 语言日期/时间解析器。

浏览器自动化和仿真

  • chromedp - 一种更快、更简单的方式来驱动支持 Chrome DevTools 协议的浏览器。

多进程

  • TODO

异步

用于异步网络编程的库。

  • TODO

队列

  • NSQ - 一个实时分布式消息传递平台。
  • NATS - 用于 NATS(云原生消息传递系统)的 Golang 客户端。

电子邮件

用于解析电子邮件的库。

  • douceur - 用于 HTML 电子邮件的 CSS 内联。
  • email - 一个强大而灵活的 Go 电子邮件库。
  • go-dkim - 一个 DKIM 库,用于签名和验证电子邮件。
  • go-imap - 用于客户端和服务器的 IMAP 库。
  • go-message - Internet 消息格式和邮件消息的流媒体库。
  • Gomail - Gomail 是一个非常简单而强大的电子邮件发送包。
  • Hectane - 提供 HTTP API 的轻量级 SMTP 客户端。
  • hermes - 生成干净、响应式 HTML 电子邮件的 Golang 包。
  • MailHog - 使用 Web 和 API 接口进行电子邮件和 SMTP 测试。
  • SendGrid - SendGrid 用于发送电子邮件的 Go 库。
  • smtp - SMTP 服务器协议状态机。

URL 和网络地址操作

用于解析/修改 URL 和网络地址的库。

网页内容提取

用于提取网页内容的库。

网络套接字

使用 WebSocket 的库。

DNS 解析

  • net - 内置一些 DNS 相关功能。
  • miekg/dns - Go 中的 DNS 库。

计算机视觉

  • TODO

代理服务器

  • gin - Go Web 服务器的实时重新加载实用程序。
  • Caddy - 快速、跨平台的 HTTP/2 网络服务器,带有自动 HTTPS,也可以作为反向代理服务器。