2013-06-09 8 views
0

내 조직의 사용자가 서로 다른 용도로 10 개가 넘는 사이트 대신 하나의 사이트 만 사용할 수있는 단일 누적 웹 응용 프로그램을 만들고 싶습니다. 출석, 계정, HR 및 더 많은 것. 나는이 사이트를 모두 크롤링하고, 데이터를 읽고, C#을 사용하여 SQL Server에 저장하려고합니다. 그러면 사용자는 내 시스템의 데이터를 직접 사용하거나 검색 할 수 있습니다.웹 사이트를 크롤링하는 방법/C# 및 SQLSERVER 데이터를 추출하는 방법

+1

다른 시스템을 웹 서비스처럼 더 직접적으로 노출 할 수없는 이유는 무엇입니까? 왜 스토리지를 복제하고 싶습니까? –

+0

나는 WebRequest를 시도했다. req = WebRequest.Create (url); 하지만 이것은 또한 내게 문제가 .. 원격 서버가 오류를 반환했습니다 : (503) 서버를 사용할 수 없습니다. –

답변

0

문제가있는 경우 길을 가고 있습니다. 나는 결코 그것을 시도하지 않을 것이다. 이러한 문제를 고려

    당신은 텍스트를 가져, 또는 잘되지 않은 데이터 (광고, 네비게이션의 모든 종류의 산재 할 수있다
  • 데이터를 형성되지 않을 수있다 HTML을 구문 분석해야 할 것
  • , 자바 스크립트 , 코멘트 등)
  • 당신은 이전 스크래핑 전략
  • 중요 정보를 다음 한 날부터 변경 가능성이 중단 될 수 있습니다 데이터
  • 특정 사이트에 대한 HTML의 형식 세의 아무 생각이 없다 승인 단계를 거친 후에 만 ​​액세스 한 페이지에 존재할 수 있습니다.
  • 하나의 URL에 살았던 데이터가 다른 URL로 이동했거나 다른 URL로 이동 중이거나 여러 URL로 분리되어있을 수 있습니다.
  • 일부 데이터는 특정 검색 매개 변수가 입력되거나 특정 사용자 사이트의
  • 사용자 로그인 권한을 부여하지 않을 수 있습니다 (?) 당신이 다른 사이트에서 끌어 데이터를 볼
나는 데이터웨어 하우스를 구축하고 이러한 시스템의 공급 업체와 협력 권 해드립니다

루트 데이터베이스 (REST URL, 직접 SQL, 웹 서비스, 야간 데이터 덤프 등)에서 데이터 피드에 액세스 할 수 있습니다. 이러한 시스템 뒤에있는 원시 데이터베이스의 데이터를 xtract, 변환 및 oad하려면 ETL을 사용하십시오.

+0

귀하의 종류 info..yes 주셔서 감사합니다 위의 모든 단점을 알고 ... 나는 그들의 데이터베이스에 액세스 할 수 없어 그들은 어떤 api 없어 ... 유일한 방법은 자신의 정보를 크롤 링하는 것입니다 내 DB에 저장하고 그런 다음 사용하십시오. 매일 크롤링을 실행합니다. –

관련 문제