1

http://www.bk.com/en/us/restaurant-locator/index.html?s=89165からの応答を読む必要があります 。次のコードを使用しましたが、すべての応答が得られるわけではありません。前もって感謝します。

protected void Page_Load(object sender, EventArgs e)
{

    string sUrl = "http://www.bk.com/en/us/restaurant-locator/index.html?s=89165";
    XmlDocument rssDoc = new XmlDocument();
    XmlTextReader rssReader = new XmlTextReader(sUrl.ToString());

    WebRequest wrGETURL;
    wrGETURL = WebRequest.Create(sUrl);

    Stream objStream;
    objStream = wrGETURL.GetResponse().GetResponseStream();
    StreamReader objReader = new StreamReader(objStream, Encoding.UTF8);
    WebResponse wr = wrGETURL.GetResponse();
    Stream receiveStream = wr.GetResponseStream();
    StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
    string content = reader.ReadToEnd();
    Response.Write(content);
   }

すべてのデータを Web ページに表示するのに役立つものはありますか?

4

3 に答える 3

1

あなたの方法に特定の理由がない限り、私は webclient を使用します。

Console.Write("\nPlease enter a URI (for example, http://www.contoso.com): ");
string remoteUri = Console.ReadLine();

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
// Download home page data.
Console.WriteLine("Downloading " + remoteUri);                        
// Download the Web resource and save it into a data buffer.
byte[] myDataBuffer = myWebClient.DownloadData (remoteUri);

// Display the downloaded data.
string download = Encoding.ASCII.GetString(myDataBuffer);
Console.WriteLine(download);

Console.WriteLine("Download successful.");

上記の例は、MSDN の記事から直接引用したものです。

http://msdn.microsoft.com/en-us/library/xz398a3f.aspx

于 2012-05-31T09:01:28.813 に答える
1

まず、Web サイトから HTML をダウンロードする方法に対処する必要があります。

  1. メソッドを使用して、XMLDocument.Loadロードするドキュメントの URL を渡します。
  2. メソッドを使用しWebClient.DownloadStringます。

どちらも、ページのテキストを約 3 行でダウンロードするため、上記のコードがより簡潔になります。

第 2 に、有効な XML/XHTML コードを作成するためにサード パーティの Web サイトに依存することはできません。つまり、XMLDocument を使用してコンテンツを解析しようとすると、失敗する可能性があります。

第 3 に、おそらくもっと重要なことですが、多くのサイトでは、この方法でコンテンツを「スクレイピング」することを禁止しています。許可されていることを再確認することをお勧めします。

最後に.. そのページで何を探しているかについてのアイデアを提供していただければ、さらにお役に立てるかもしれません。

于 2012-05-31T09:01:51.597 に答える