
対話型 CLI Webクローラー。
Evineは、Golangで書かれたシンプルで高速かつ対話的なWebクローラー兼Webスクレイパーです。 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
ツールのヘルプが表示されます:
Keysは、スコープ内URL、スコープ外URL、メールなど、データを指定するための定義済みキーワードです。 すべてのキーのリスト:
Keysに定義されていないファイルが必要な場合もあります。その場合は、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" )
メソッドの説明:
バグの報告や提案は、issueを作成してください。
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ステータスコード。'|'で区切る(デフォルト ".*") | evine -code-exclude 200,201 |
| -delay int | 各リクエスト間の待機時間(ミリ秒) | evine -delay 300 |
| -depth | スクレイパーの深さ検索レベル(デフォルト 1) | evine -depth 2 |
| -thread int | 解決のための同時ゴルーチン数(デフォルト 5) | evine -thread 10 |
| -header | 各リクエストのHTTPヘッダー(フィールドは \n で区切る必要があります) | evine -header KEY: VALUE\nKEY1: VALUE1 |
| -proxy string | スキーム://ip:port 形式のプロキシ | evine -proxy http://1.1.1.1:8080 |
| -scheme string | リクエストのスキームを設定(デフォルト "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 | regexフィールドの正規表現検索の最大結果数(デフォルト 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 |