2009-02-07 6 views
3

나는 정보를 컴파일하기 위해 일부 크롤러를 만드는 데 익숙하다. 그리고 나는 웹 사이트에 올 때마다 그 사이트에 맞는 새로운 크롤러를 시작한다. 대부분의 시간과 때로는 셸 스크립트를 사용한다. .웹 크롤러를 가장 잘 개발하는 방법

내가 할 방법은 페이지 목록을 반복하는 간단한 for 함께하는 wget는 다운로드 않고 sed, tr, awk 또는 페이지를 청소하고 내가 필요한 특정 정보를 잡기 위해 다른 유틸리티.

모든 프로세스는 사이트에 따라 시간이 걸리고 모든 페이지를 다운로드하는 데 더 많은 시간이 걸립니다. 그리고 나는 종종 모든 것을 복잡하게하는 AJAX 사이트를 방문합니다.

더 나은 방법, 더 빠른 방법 또는 그러한 응용 프로그램을 돕는 언어가 있는지 궁금합니다.

답변

6

콘텐츠 구문 분석에 정규 표현식을 사용하면 이라는 잘못된 아이디어이 여기에 수많은 질문으로 다뤄졌습니다.

DOM 트리로 문서를 파싱 한 다음 원하는 하이퍼 링크, 스타일 시트, 스크립트 파일, 이미지 또는 기타 외부 링크를 찾아서 트래버스 할 수 있습니다.

많은 스크립팅 언어에는 웹 페이지 (예 : PHP의 컬) 가져 오기 및 HTML 구문 분석 (예 : Beautiful Soup for Python) 패키지가 있습니다. hackky 정규식 일치 솔루션 대신 해당 경로로 이동하십시오.

+0

[XMLawk] (http://gawkextlib.sourceforge.net/)이 선택 될 수 있다고 생각합니다. –

2

파이썬을 사용하는 경우 Scrapy은 사용하기 쉽습니다.

관련 문제