0

http://www.lfp.fr/ligue1/feuille_match/52255のような Web サイトがあり、infoMatch タブと Statistiques タブを切り替えたいのですが、最初のページのデータのみが表示され、firebug を使用して確認すると表示されます。それが私にこれを与える応答:

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();

しかし、「この動詞タイプのコンテンツ本文を送信できません」というエラーが表示されます。そして、メソッドで「POST」を使用すると、HTMLの応答が得られますが、統計ではなく最初のページデータのみが得られます。

4

1 に答える 1

2

次のアドレスでお試しください: http://www.lfp.fr/ligue1/feuille_match/showStatsJoueursMatch?matchId=52255&domId=112&extId=24&live=0&domNomClub=AJ+Auxerre&extNomClub=FC+Nantes

そのように:

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);
        }
    }
}

コードをより短く理解しやすくするために、 whichのWebClient代わりにa を使用していることに注意してください。WebRequest

HTML Agility Packリモート サイトから HTML をダウンロードしたら、スクレイピングしたマークアップから有用な情報を抽出するなど、HTML 解析ライブラリの使用を検討できます。

于 2013-03-02T16:55:51.833 に答える