제 3 자 웹 사이트에서 데이터를 검색하는 Ruby 웹 크롤러를 작성했습니다. 나는 Nokogiri를 사용하여 특정 CSS div 및 특정 필드 (추출한 노드의 요소 및 요소에 액세스)를 기반으로 정보를 추출합니다.웹 크롤러 용 파서를 유지 관리하는 방법
때로는 제 3 자 웹 사이트의 구조가 변경되어 크롤러를 손상시킵니다 (element[1].children[2]
은 element[2].children[0]
으로 변경해야 할 수도 있음).
지금까지 구조체가 변경 될 때 구문 분석기를 신속하게 수정할 수있는 노드 구조를 인쇄하는 유틸리티가 있습니다. 또한 "일부"값을 추출 할 수있는 자동화 된 프로세스가 있습니다.
이 문제를 해결할 더 우아한 방법이 있는지 알고 싶습니다. 유지 관리가 쉬운 크롤러는 어떻게 작성합니까?
산업용 스케일로 만들고 싶다면 브라우저 플러그인을 작성하고 아웃소싱 된 작업자가 스크래핑하려는 필드를 클릭하십시오. 그런 다음 해당 필드에 대한 XPATH를 찾아 값을 추출합니다. 형식이 변경되면 작업자 (MTurk?)를 추가하여 페이지를로드하고 추출 할 필드를 다시 클릭하십시오. – Chloe
주어진 답변은 훌륭한 조언입니다. 그러나 구문 분석하려는 HTML 샘플이 없으면 일반적인/일반적인 조언을 제공하는 것 이상으로 도움을 줄 수는 없습니다. –