6

この質問に従って、Agility Pack を使用して HTML を解析していますC# で html を解析する最良の方法は何ですか? そして私は素晴らしい結果を得ています:)結果が私の場所に基づいているいくつかのWebページに入るときに問題が発生します。たとえば、スペインにいるように、スペイン地域の結果を取得しており、次のように変更したいと思います私がイギリスにいた場合、どうすればそれができますか? ユーザーエージェントで変更する必要があるということですか?(ユーザーエージェントとして「Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:xxx) Gecko/20041107 Firefox/xx)」を使用しています</p>

4

2 に答える 2

12

WebClient.DownloadStringHTTP 要求ヘッダーを設定して Web ページのコンテンツをダウンロードし、それを HTML agility Pack にフィードできるメソッドを使用できます。

UserAgent は言語を制御するものではありません。Accept-Languageヘッダーです。たとえば、次のようになります。

using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.AcceptLanguage] = "es-ES";
    client.Headers[HttpRequestHeader.UserAgent] = "some user agent if you wish";
    string html = client.DownloadString("http://example.com");
    // feed the HTML to HTML Agility Pack
    var doc = new HtmlDocument();
    doc.LoadHtml(html);

    // now do the parsing
}

しかし、サイトが IP ベースの認識を使用してコンテンツを異なる言語で送信する場合、クライアント側でそれを変更するためにできることはあまりありません。

于 2013-02-26T22:13:52.833 に答える
1

位置情報に基づく検索またはページは通常、IP 経由で行われるか、登録時にサイトに自分の居場所を伝えます。あなたがいるように見せたい国の匿名プロキシを調べることをお勧めします.

于 2013-02-26T22:17:07.990 に答える