交互式 CLI 网络爬虫。
Evine 是一个用 Golang 编写的简单、快速且交互式的网络爬虫和网页抓取工具。 Evine 适用于多种用途,例如元数据和数据提取、数据挖掘、侦察和测试。
如果您喜欢这个项目,请给它一个星标。这能激励我继续开发该项目!
预编译的二进制发布版也提供(建议使用)。
go get github.com/saeeddhqan/evine
"$GOPATH/bin/evine" -h
git clone https://github.com/saeeddhqan/evine.git
cd evine
go build .
mv evine /usr/local/bin
evine --help
注意:需要 golang 1.13.x 或更高版本。
evine -h
这将显示工具的帮助信息:
键是预定义的关键字,可用于指定数据,如范围内 URL、范围外 URL、电子邮件等。 所有键的列表:
也许你想要一个未在键中定义的文件。该怎么办?你可以在 Query 视图中简单地写入文件的扩展名,如 png、xml、txt、docx、xlsx、a、mp3 等。
如果你具备基本的 jQuery 技能,可以轻松使用此功能;即使没有,也不太困难。要快速了解选择器,w3schools 是一个很好的资源。
示例(查找 source[src]):
$("source").attr("src") // 查找所有 source[src] 的 URL
$("h1").text() // 查找 h1 的值
模板:
$("SELECTOR").METHOD_NAME("arg")
它不支持如下查询:
$('SELECTOR').METHOD("arg")
$('SELECTOR').METHOD('arg')
$("SELECTOR" ).METHOD("arg" )
方法描述如下:
要报告错误或提出建议,请创建一个问题。
Evine 的灵感主要来自 wuzz。
| 快捷键 | 描述 |
|---|
| Enter | 运行爬虫(在 URL 视图下) |
| Enter | 显示响应(在 Keys 和 Regex 视图下) |
| Tab | 下一个视图 |
| Ctrl+Space | 运行爬虫 |
| Ctrl+S | 保存响应 |
| Ctrl+Z | 退出 |
| Ctrl+R | 恢复默认值(在 Options 和 Headers 视图下) |
| Ctrl+Q | 关闭响应保存视图(在 Save 视图下) |
| 标志 | 描述 | 示例 |
|---|
| -url | 要爬取的 URL | evine -url toscrape.com |
| -url-exclude string | 使用此正则表达式排除匹配的 URL(默认 ".*") | evine -url-exclude ?id= |
| -domain-exclude string | 排除要爬取的范围内域名。用逗号分隔。默认为根域名 | evine -domain-exclude host1.tld,host2.tld |
| -code-exclude string | 排除这些 HTTP 状态码。用 ' | ' 分隔(默认 ".*") |
| -delay int | 每次请求之间的延迟(毫秒) | evine -delay 300 |
| -depth | 爬虫深度搜索级别(默认 1) | evine -depth 2 |
| -thread int | 用于解析的并发 goroutine 数量(默认 5) | evine -thread 10 |
| -header | 每次请求的 HTTP 头部(字段应用 \n 分隔)。 | evine -header KEY: VALUE\nKEY1: VALUE1 |
| -proxy string | 代理,格式为 scheme://ip:port | evine -proxy http://1.1.1.1:8080 |
| -scheme string | 设置请求的 scheme(默认 "https") | evine -scheme http |
| -timeout int | 超时等待秒数(默认 10) | evine -timeout 15 |
| -query string | JQuery 表达式(可以是文件扩展名(pdf)、键查询(url,script,css,..)或 jQuery 选择器($("a[class='hdr']).attr('hdr')"))) | evine -query url,pdf,txt |
| -regex string | 在页面内容中搜索正则表达式 | evine -regex 'User.+' |
| -logger string | 将错误记录到文件中 | evine -logger log.txt |
| -max-regex int | 正则搜索的最大结果数(默认 1000) | evine -max-regex -1 |
| -robots | 爬取 robots.txt 中的 URL 并将其用作种子 | evine -robots |
| -sitemap | 爬取 sitemap.xml 中的 URL 并将其用作种子 | evine -sitemap |
| -wayback | 爬取 WayBackURLs(web.archive.org) 中的 URL 并将其用作种子 | evine -sitemap |