0

c#.net 3.5 アプリケーションを使用して Web ページをスクラップしようとしましたが、一部のコンテンツが jquery Ajax を介して表示されているため、ページ全体をスクラップできません。

これを見る

ここに私のコードがあります

 private void button1_Click(object sender, EventArgs e)
    {
        string url = "http://www.racingpost.com/greyhounds/result_home.sd#resultDay=2012-12-16&meetingId=18&isFullMeeting=true";

        WebClient w = new WebClient();
        string s = w.DownloadString(url);


    }

Ajaxが表示しているウェブサイトからのレース結果が必要だと思います。

4

2 に答える 2

1

http://www.racingpost.com/greyhounds/result_by_meeting_full.sd?r_date=2012-12-16&meeting_id=18

Web ブラウザーに Chrome を使用している場合は、開発者ツール (F12) を開き、[ネットワーク] タブを見て、ページの読み込み後にどのリソースが要求されているかを確認できます。上記の URL は、私が気づいたものの 1 つであり、いくつかの結果が得られるようです。date と meeting_id を知っているか解析できる場合は、メイン ページと同じように直接電話をかけることができます。

別の可能なオプションは、実際のWeb ブラウザー コントロールを使用し、すべての読み込みが完了した後に DOM をスキャンすることです。

于 2012-12-25T08:56:30.173 に答える
-1

System.Net名前空間を操作する必要があると思います。
あなたがする必要があるのはHttpRequest、このような助けを借りて作成することです

WebRequest webRequest = WebRequest.Create("http://www.racingpost.com/greyhounds/result_home.sd#resultDay=2012-12-16&meetingId=18&isFullMeeting=true");
WebResponse webResp = webRequest.GetResponse();

これにより、Ajaxデータでも完全な応答が得られると思います。

于 2012-12-25T09:02:52.550 に答える