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日 |
第364名 Web编程
每月下载765次
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