2012-02-15 3 views
1

나는 웹 개발을 처음 접했고 스크린 스크래핑이나 웹 크롤링을 한 적이 없었지만 어제 내 친구가 나에게 물었다. 내 데이터가 아닌 this 웹 사이트의 데이터도 다운로드 할 수 있습니다. 데이터의 문제점은 여러 날짜 또는 회사의 하나의 파일이 아니라 하나의 날짜 또는 회사 당 하나의 파일로만 사용할 수 있다는 것입니다. 이는 지루한 '클릭 여물'을 많이 포함하고있어서 좋을 것이라고 생각했습니다. 한 번의 클릭으로 모든 데이터를 가져 와서 하나의 파일 또는 비슷한 것으로 출력 할 수있는 앱을 만들 수 있다면 ...ASP.NET 웹 폼에서 데이터를 가져 오는 것

웹 사이트는 __doPostBack과 함께 aspx webFrom을 사용하여 다른 날짜의 데이터 XSL에서 데이터를 다운로드하는 링크는 일반적인 "href = ..."링크가 아니며 일부 ASP 스크립트에 대한 참조입니다 ...

내가 시도한 유일한 사실은 PHP cURL이었습니다. T는 일을하지만, 처음으로 cURL을 시도했기 때문에 나는 심지어 k도하지 않습니다. 이제 cURL로는 가능하지 않았기 때문에 작동하지 않거나, 아니면 어떻게 작동하는지 모르기 때문에 작동하지 않습니다. 저는 PHP와 JavaScript에는 능숙하지만 ASP에서는 그렇지 않습니다. 새로운 것을 배우기는 쉽지 않을 것입니다.

제 질문은 .. 이 같은 웹 사이트에서 데이터를 가져올 수 있습니까? 그렇다면, 이런 종류의 문제에 접근하는 방법에 대해 나에게 약간의 힌트를 줄 정도로 친절하십니까?

웹 사이트, 다시 여기 http://extranet.net4gas.cz/capacity_ee.aspx

감사

입니다 (휴, 그것은 규칙을 준수하지 않는 경우 내 첫 번째 질문은 .. 알려 주시기 바랍니다 그리고 난 다음에 더 잘 할거야 당신이 문자열에있는 페이지의 HTML을 일단

// Create web client. 
WebClient client = new WebClient(); 

// Download string. 
string value = client.DownloadString("http://www.microsoft.com/"); 

당신이 일을 긁어 정규식을 사용 : 시간)

+0

그것은 PHP에서 가능하지만 파이썬 펄이나 루비 기계화 훨씬 쉽다. 아마 가장 쉬운 방법은 셀레늄을 사용하는 것입니다. – pguardiario

답변

1

C#을 작업을 할 수있는 좋은 웹 클라이언트 클래스가 당신이 찾고있는 콘텐츠. 당신은 확실히 당신이 그것의 데이터를 긁어 수 있도록 웹 사이트의 데이터가, 대중 열려 말했듯이,

Regex regex = new Regex(@"\d+"); 
Match match = regex.Match("hello here 10 values"); 
if (match.Success) 
{ 
    Console.WriteLine(match.Value); 
} 
+0

빠른 답변을 주셔서 감사합니다. 시도해 보겠습니다. – mkopriva

1

Marosko : 여기에 힌트를 줄 수있는 아주 기본적인 정규 표현식입니다. 이제 날짜를 수동으로 클릭 수를 줄이고 데이터를 긁어내는 것입니다. 필자는 개인적으로 Curl이 어떻게 작동하는지에 대해서는별로 생각하지 않지만 많은 코딩 작업이 필요하다고 확신합니다. 오히려 소프트웨어 응용 프로그램과 같은 자동화 도구를 사용하여 전체 프로세스를 자동화 할 것을 제안합니다. Automation Anywhere를 사용해 보았습니다. 몇 달 전에 데이터를 추출 할 목적으로 몇 달 뒤 샀습니다. 자동으로 수행되므로 표시되는 screen scraping 기능을 확인할 수 있습니다. 그것의 나의 마음에 드는 :)

찰스

+0

안녕하세요 찰스, 제안 주셔서 감사합니다,하지만 나는 오히려 노력하고 스스로 stackoverflow 일부 코드를 배우고있어. – mkopriva

관련 문제