1

Googleサジェストをドイツ語でスクレイピングしたい:

string url = "http://google.de/complete/search?output=toolbar&q=" + txtResults.Lines[i].Replace(" ", "%20%");
WebClient client = new WebClient();
client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0");
client.Headers.Add("Accept-Encoding:", "gzip, deflate");
client.Headers.Add("Connection:", "keep-alive");
doc.Load(client.OpenRead(url), System.Text.Encoding.UTF8, true);

しかし、私は常に国際的な結果を取得しますが、ブラウザーでは、指定された .de URL によってドイツ語の結果を取得します。だから私はヘッダーを追加しました:

client.Headers.Add("Accept-Language:", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");

しかし今、私はエラーを受け取ります: 指定された値には無効な HTTP ヘッダー文字があります

また、アプリケーションの言語を設定しようとしました

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

しかし、これも役に立ちません。

4

1 に答える 1

5

ヘッダー名からコロン (:) を削除してみてください。

client.Headers.Add("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
于 2012-12-07T15:57:26.693 に答える