2009-06-18 4 views
1

특정 한 가지 검색 서비스를 만들고 싶습니다. 무료 기밀 서비스 및 기타 여러 사이트를 통해 데이터를 무료로 이용할 수 있습니다.다른 사이트를 긁어 낼 검색 엔진을위한 빌딩 블록이 있습니까?

빌딩 블록이 있습니까? 사용자 정의 할 오픈 소스 크롤러 - 처음부터 빌드하지 않고 사용할 수 있습니까?

이러한 제품을 만드는 방법에 대한 조언이 있으십니까? 기술적 인 것뿐만 아니라 고려해야 할 프라이버시/법적 사항.

예. 검색 결과가있는 곳에서 '신용을 제공'하고 원본에 대한 링크를 붙여야합니까 - 여러 곳에서 가져올 수 있습니까?

편집 : 그런데 프론트 엔드 용 JS와 함께 GWT를 사용 중이며 백엔드 용 언어를 결정하지 않았습니다. PHP 또는 Python. 생각?

답변

2

파이썬에는 사용할 수있는 블록이 거의 없습니다.

  1. beautifulsoup [http://www.crummy.com/software/BeautifulSoup/]] HTML을 구문 분석합니다. 그것도 나쁜 코드를 처리 할 수 ​​있으며, API는 veeery 쉬운 ... 나를 위해 모든 DOM과 같은 도구보다 방법. 내 친구는 성공으로 자신의 오래된 phpbb 포럼을 다듬기 위해 그것을 사용했습니다. 꽤 좋은 문서가 있습니다.
  2. mechanize [http://wwwsearch.sourceforge.net/mechanize/]은 웹 브라우저 시뮬레이트 http 클라이언트 라이브러리입니다. 쿠키, 양식 작성 등을 처리합니다. 또한 사용하기 쉽지만 http 작동 방식을 이해하면 도움이됩니다.
  3. http://dev.scrapy.org/ - 이것은 비교적 새로운 것입니다. 꼬인 모양을 기반으로 한 전체적인 긁기 프레임 워크입니다. 나는 그걸로 많이 연주하지 않았다.

필자의 필요에 따라 처음 두 개를 사용합니다. f.e. 사용자가 데이터를 입력 할 때까지 기다리는 시뮬레이션과 함께 3 단계 폴링을위한 자동 테스트 도구를 얻으려면 20 줄의 코드가 필요합니다.

+0

그래서 나는 '스크린 스크레이퍼'를 만들고 HTML 코드를 파싱하고 유용한 정보를 꺼낸 다음 그 정보를 db로 덤핑 할 것이라고 생각합니다. 그게 일반적인 과정인가요? – marcamillion

+0

제게는 충분히 일반적인 것입니다 ... 제가보기에 유일한 제한은 웹 브라우저를 완전히 시뮬레이트하는 자바 스크립트 나 플래시 엔진이 없다는 것입니다. 당신은 스파이더 맨 키 바인딩을 가진 js를 추가 할 수 있습니다. – liori

0

루비에서 5 분 정도 걸리는 스크린 스크레이퍼를 만들었습니다. 외관상으로는 this dude에는 60 초가 주어진다! 루비가 당신이 찾고있는 것과 같이 확장 성이 있거나 빠른지는 확실하지 않지만 개념 증명이나 프로토 타입에 대한 더 빠른 경로를 본 적이 없습니다.

비밀은 "hpricot"이라는 라이브러리입니다.이 라이브러리는 정확히이 목적으로 제작되었습니다.

PHP 나 Python 또는 개발 시스템/언어에서 사용할 수있는 것은 무엇인지 모르겠습니다.

행운을 빈다.

+0

그래서 '스크린 스크레이퍼'를 만들고 HTML 코드를 파싱하고 유용한 정보를 꺼낸 다음 그 정보를 db로 덤핑하면된다는 생각이들 것입니다. 일반적인 프로세스입니까? – marcamillion

+0

그래, 그게 좋은 생각이야. –

관련 문제