私はウェブサイトのコンテンツをダウンロードするためのデスクトップアプリケーションを持っています。StreamReaderを使用してC#のダウンロードが遅い
はもともと、これは次のコードではPythonで書かれています:
import requests
from bs4 import BeautifulSoup
def getSoup(url):
try:
r = requests.get(url)
except requests.exceptions.ConnectionError:
print "wrong"
soup = BeautifulSoup(r.text, "html.parser")
return soup
は、それから私は、C#を使用して変更するには、次のよう、コードは次のとおりです。
public string getHtml(string theUrl) {
try {
string result = null;
WebRequest req = HttpWebRequest.Create(theUrl);
req.Method = "GET";
req.Proxy = null;
using(StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream(), Encoding.UTF8) {
result = reader.ReadToEnd();
}
return result;
} catch (Exception e) {
//handle exception
}
}
しかし、C#のコードはよりもはるかに遅いですPythonコード。多くの場合、C#コードには何の応答もありません。コードを速くするためにC#コードを改善する方法を提案できますか?
ありがとうございます。
を試してみて、これらの転送はで処理されますはるかに低いレベル。 C#とPythonの大きな違いは、exeファイルをどこからも出さずに即座にネットワーク化することです。マルウェア対策製品を無効にして、もう一度お試しください。 –
@HansPassantお返事ありがとうございます。私は、マルウェア対策製品をインストールしていません。 –