#read #recursion #web #grep #terminal #leave #having

app webgrep

在Web上grep:一种全浏览器规范、以搜索为重点的超简单方式,无需离开终端即可阅读Web

14个不稳定版本 (3个破坏性)

0.4.3 2024年7月26日
0.4.2 2024年7月26日
0.3.4 2024年7月26日
0.2.2 2024年7月5日
0.1.2 2024年7月2日

364Web编程

Download history 348/week @ 2024-07-01 236/week @ 2024-07-08 15/week @ 2024-07-15 612/week @ 2024-07-22 107/week @ 2024-07-29

每月下载765

MIT许可证

29KB
398

webgrep:浏览Web最简单的方式

webgrep是最快的方式,可以直接在您的终端中阅读Web,具有常规grep的所有功能。webgrep支持使用headless-chrome进行完整的浏览器网页渲染,以及更基本的http请求/html解析。它甚至可以读取PDF。webgrep可以渲染JavaScript,递归地搜索链接树,使用正则表达式读取网页等。 (注意:我知道源和搜索的顺序与原始grep相反,但它的确好得多,请相信我)

如何使用

使用cargo下载它,然后像使用任何其他Unix命令一样使用它:cargo install webgrep webgrep <search (url)> <search or regex expression> 推荐:使用 headless-chrome (见下文),因为许多网站仅使用javascript/其他浏览器必需的功能。要使用webgrep与headless-chrome一起使用,请使用以下标志之一,或者设置以下环境变量:(注意,使用chrome比使用基本http请求慢得多[~2sec/request vs .25sec/request]) export WEBGREP_ALWAYS_USE_CHROME=1

标志

  • -r/--recursive 可选,遍历/搜索基础url上的所有链接,深度设置(见下文),提供深度值(探索链接树分支的数量)
  • -p/--pathcontains 可选,必须包含在路径中的纯文本字符串,才能对其进行探索(用于防止递归搜索走得太远)
  • -o/--samehost 可选,仅探索同一主机上的网页(即同一域名)
  • -c/--chrome 可选,使用chrome而不是仅基本http请求(对于具有js的网站需要)
  • -i/--insensitive 可选,不区分大小写搜索
  • -b/--break_when_found 可选,当搜索到网络结果时停止递归

示例

递归搜索大学课程目录中的关键词(不区分大小写)

webgrep https://https://oxy.smartcatalogiq.com/en/2021-2022/catalog/course-descriptions/ "(?i)ethical" --samehost -p course-descriptions

使用无头Chrome读取react.js网页

webgrep https://quinnpatwardhan.com/aboutme frisb -c(或,设置环境变量后):webgrep https://quinnpatwardhan.com/aboutme frisb

bugs/contributing

请在“issues”页面上报告您遇到的任何错误。我们欢迎任何贡献,只需提交pr!

依赖项

~35–55MB
~821K SLoC