.Net (C #)의 웹 스크랩 핑 패턴 및 사례 [폐쇄]


9

외부 웹 사이트 / 응용 프로그램을 자동화하기 위해 응용 프로그램을 만들 것입니다. 경우에 따라 사용자처럼 사이트를 탐색해야합니다 (따라야하는 일부 링크는 예측할 수 없으며 응답에서 파싱해야 함)

이미 Html Agility Pack을 사용 하고 있으며 필요한 경우 Tidy를 알고 있습니다.

내가 알아야 할 다른 기술이 있습니까?

외부 웹 앱이 변경되는 경우 신속하게 조정할 수있는 권장 패턴이 있습니까? 필자는 필요에 따라 쉽게 분리 / 연결 할 수있는 전략 또는 유사한 패턴의 유형으로 응답 유효성 검사를 캡슐화하는 것을 계획하고 있지만 구체적인 제안은 훌륭합니다.


15-20 분 안에 완료 할 수있는 단계별 안내서 또는 시작하기-빠른 시작 정보는 무엇입니까? 나는 당신에게 berniecook.wordpress.com/2013/01/13/ 와 같은 좋은 단계별 가이드 샘플 을 얻습니다 ... 시작하기 전에 몇 가지 가정을 빠르게 다루고 싶었습니다. 설치 (필수 사항, 필요한 도구), 구성, 빨리 달리기. 대상은 "go and ready"샘플이됩니다. 실제 응용 프로그램 샘플이 더 나을 수도 있습니다.
Kiquenet

답변:


4

사용자가 원하는 것처럼 외부 웹 사이트 탐색을 자동화하려는 경우 Watin 이 적합합니다. 객체 모델을 통해 웹 브라우저를 구동하고 DOM에 구축 된 광범위한 구문 분석 기능 (스크립팅을 포함하여 브라우저에서 찾을 수있는 DOM 이외의 기능)이 있습니다.

링크는 다음과 같습니다.

Watin.org


Watin은 C #에서 가장 좋아하는 JavaScript 라이브러리와 같습니다.
머핀 남자

전체 소스 코드 샘플 응용 프로그램이있는 최종 솔루션 은 무엇입니까? IMHO, 학습 곡선을 최소화하기위한 더 나은 샘플은 전체 소스 코드와 우수한 패턴 및 실습을 갖춘 실제 애플리케이션입니다.
Kiquenet

0

외부 웹 앱에서 신속 하게 변경 사항을 추적하는 기능을 찾고 있다면 스크립팅을 살펴 보겠습니다. C #이 선택한 언어라면 즉시 컴파일 코드를 살펴보십시오. 데이터베이스를 사용하는 경우 스크립트 코드를 저장할 수 있습니다. 그렇지 않으면 일반 텍스트 파일도 작동합니다.

GoF 패턴과 관련하여 전략 은 교과서 선택입니다.

고려해야 할 다른 "패턴"은 특히 다음 조치를 선택하기 위해 응답을 사용하여 응답 유효성을 언급 했으므로 유한 상태 머신입니다 . 예를 들어 웹 메일 클라이언트의 상태는 "로그인되지 않음", "받은 편지함에서", "메시지 읽기", "응답 편집"등일 수 있습니다. 상태에 따라 몇 가지 작업을 실행 한 다음에 따라 응답은 다음 상태를 선택하십시오.


0

패턴은 실제로 문제에서 비롯되어야하지만 다음은 몇 가지 선택입니다.

진행중인 개발 비용 / 성가심에 주로 관심이있는 경우 : 전략 패턴 (이미 언급)-이를 사용하여 구성 요소 레벨 인터페이스를 구현하고 동적 바인딩 방법을 사용하여 특정 전략 (구현)을 해결하십시오. IOC 컨테이너 (요즘에는 Autofac를 좋아합니다)가 잘 작동합니다.

위의 내용을 지원하고 확장해야 할 필요가있는 경우 : Map Reduce (.net의 m + r fx를 아는 사람이 있습니까?)


-1

웹 페이지가 얼마나 많이 변경되는지에 따라 이는 어려울 수 있습니다. DB에 표준 정규식 목록을 유지 한 다음 더 이상 작동하지 않을 때 하나를 칠 때까지 다른 기본 세트를 반복 할 수 있습니다. 그런 다음 나중에 사용할 수 있도록 표시하고 싶을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.