
Inventus는 특정 도메인을 크롤링하고 발견되는 모든 하위 도메인도 함께 크롤링하여 해당 도메인의 하위 도메인을 찾아내도록 설계된 스파이더입니다.
Inventus는 특정 도메인과 발견된 모든 하위 도메인을 크롤링하여 하위 도메인을 찾도록 설계된 스파이더입니다. Scrapy 스파이더이므로 필요에 따라 쉽게 수정하고 확장할 수 있습니다.
Inventus를 실행하려면 먼저 Scrapy가 설치되어 있어야 합니다. 먼저 저장소를 클론하고 해당 디렉토리로 이동합니다.
$ git clone https://github.com/nmalcolm/Inventus
$ cd Inventus
이제 pip를 사용하여 필요한 종속성을 설치합니다.
$ pip install -r requirements.txt
설치가 성공했다면 Inventus를 사용할 준비가 된 것입니다.
Inventus의 가장 기본적인 사용법은 다음과 같습니다:
$ cd Inventus
$ scrapy crawl inventus -a domain=facebook.com
이것은 Scrapy에 사용할 스파이더를 알려줍니다('inventus' 스파이더). 발견된 모든 하위 도메인은 STDOUT으로 출력됩니다.
다른 사용자 정의 매개변수는 subdomain_limit입니다. 종료하기 전에 발견할 하위 도메인의 최대 개수를 설정합니다. 기본값은 10000이지만 엄격한 제한은 아닙니다.
$ scrapy crawl inventus -a domain=facebook.com -a subdomain_limit=100
데이터 내보내기는 여러 가지 방법으로 수행할 수 있습니다. 가장 쉬운 방법은 STDOUT을 파일로 리디렉션하는 것입니다.
$ scrapy crawl inventus -a domain=facebook.com > facebook.txt
Scrapy는 CSV, JSON, XML 등 다양한 형식으로 항목을 내보낼 수 있는 내장 기능을 제공합니다. 현재는 하위 도메인만 내보내지지만, 향후 변경될 수 있습니다.
$ scrapy crawl inventus -a domain=facebook.com -t csv -o Facebook.csv
Inventus의 동작 방식을 구성할 수 있습니다. 기본적으로 Inventus는 robots.txt를 무시하고, 30초 타임아웃을 가지며, 크롤 데이터를 24시간 동안 캐시하고, 크롤 깊이는 5이며, Scrapy의 AutoThrottle 확장을 사용합니다. 이러한 설정과 더 많은 설정은 inventus_spider/settings.py 파일을 편집하여 변경할 수 있습니다. Scrapy의 설정은 잘 문서화되어 있습니다.
위의 사항에 대해 새로운 이슈를 자유롭게 열어주세요. Inventus는 단 몇 시간 만에 만들어졌으며 버그가 있을 가능성이 높습니다. Twitter에서 저와 소통할 수도 있습니다.
MIT 라이선스에 따라 배포됩니다. LICENSE 파일을 참조하세요.