
대화형 CLI 웹 크롤러
대화형 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") // 소스[src] URL을 모두 찾기
$("h1").text() // h1 값 찾기
템플릿:
$("선택자").메서드_이름("인자")
다음과 같은 쿼리는 지원하지 않습니다:
$('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 | 기본값으로 복원 (옵션 및 헤더 뷰에서) |
| Ctrl+Q | 응답 저장 뷰 닫기 (저장 뷰에서) |
| 플래그 | 설명 | 예시 |
|---|
| -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 | 해결을 위한 동시 고루틴 수 (기본값 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 | 요청의 스킴 설정 (기본값 "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 |