2013-03-02 2 views
0

에서 웹 사이트를 스크랩했습니다.이 http://www.lfp.fr/ligue1/feuille_match/52255과 같은 웹 사이트가 있는데, infoMatch 탭과 Statistiques 탭 사이를 전환하고 싶지만 첫 번째 페이지의 데이터 만 표시하고 파이어 버그를 사용하여 그것이 나에게주는 reponse이 : 24 & 라이브 = 0 & domNomClub = AJ + 세르 & extNomClub = FC + 낭트AJAX 기반 요청 C#

string url="http://www.lfp.fr/ligue1/feuille_match/52255"; 
        string getData = "?matchId=52255&domId=112&extId=24&live=0&domNomClub=AJ+Auxerre&extNomClub=FC+Nantes"; 
        System.Uri uriObj = new System.Uri(url); 
        String Methode = "GET"; 
        lgRequest = (HttpWebRequest)WebRequest.CreateDefault(uriObj); 
        lgRequest = (HttpWebRequest)WebRequest.CreateDefault(uriObj);  
    lgRequest.Method = Methode; 
    lgRequest.ContentType = "text/html"; 
        SetRequestHeader("Accept", "text/html"); 
        SetRequestHeader("Cache-Control", "no-cache"); 
        SetRequestHeader("Content-Length", getData.Length.ToString()); 

    StreamWriter stream = new StreamWriter 
       (lgRequest.GetRequestStream(), Encoding.ASCII); 
      stream.Write(body); 
      stream.Close(); 
      lgResponse = (HttpWebResponse)lgRequest.GetResponse(); 

그러나 그것은 나에게 오류를 제공 GET showStatsJoueursMatchmatchId = 52255 & domId = 112 & EXTID = "할 수 없습니다 이 동사 유형의 콘텐츠 본문을 보냅니다. " 그리고 Method에서 "POST"를 사용하면 HTML 응답이지만 Statistiques가 아닌 첫 페이지 데이터 만 제공합니다. 다음 주소에서

답변

2

시도 : 그냥 그렇게 http://www.lfp.fr/ligue1/feuille_match/showStatsJoueursMatch?matchId=52255&domId=112&extId=24&live=0&domNomClub=AJ+Auxerre&extNomClub=FC+Nantes

: 나는 WebClient 대신 훨씬 짧고 이해하기 쉽게 코드를 만드는 WebRequest의 사용했다

using System; 
using System.Net; 

class Program 
{ 
    static void Main() 
    { 
     using (var client = new WebClient()) 
     { 
      string result = client.DownloadString("http://www.lfp.fr/ligue1/feuille_match/showStatsJoueursMatch?matchId=52255&domId=112&extId=24&live=0&domNomClub=AJ+Auxerre&extNomClub=FC+Nantes"); 
      Console.WriteLine(result); 
     } 
    } 
} 

알 수 있습니다.

원격 사이트에서 HTML을 다운로드 한 후에는 HTML Agility Pack과 같은 HTML 구문 분석 라이브러리를 사용하여 스크랩 한 마크 업에서 유용한 정보를 추출하는 것이 좋습니다.

+1

남자 !!! 내 평판이 15 이하이기 때문에 당신의 답을 기억할 수는 없지만 당신은 대린을 사랑합니다 : * 진심으로 나는 7 시간을 낭비했고 10 분 안에 해결책을 내 주셨습니다 : * muaaaaaaaaaaaah –