2016-05-23 2 views
0

私は、学校のウェブサイトのタイムテーブルデータを入手して、それを少しだけ適用できるかどうかを確認しようとしています。 、上記のコードが動作するかどうか、私がチェックする方法を見つけることができませんでしたC#読書データオフhtml

string userInput = "/*My username will be here*/"; 
string passInput = "/*My password will be here */"; 

string formUrl = "https://portal.gc.ac.nz/student/index.php/process-login"; 
string formParams = string.Format("username={0}&password={1}", userInput, passInput); 
string cookieHeader; 

WebRequest req = WebRequest.Create(formUrl); 
req.ContentType = "application/x-www-form-urlencoded"; 
req.Method = "POST"; 
byte[] bytes = Encoding.ASCII.GetBytes(formParams); 
req.ContentLength = bytes.Length; 
using (Stream os = req.GetRequestStream()) 
{ 
    os.Write(bytes, 0, bytes.Length); 
} 
WebResponse resp = req.GetResponse(); 
cookieHeader = resp.Headers["Set-cookie"]; 

string pageSource; 
string getUrl = "https://portal.gc.ac.nz/student/index.php/timetable"; 
WebRequest getRequest = WebRequest.Create(getUrl); 
getRequest.Headers.Add("Cookie", cookieHeader); 
WebResponse getResponse = getRequest.GetResponse(); 
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) 
{ 
    pageSource = sr.ReadToEnd(); 
} 

しかし、私の質問は::現時点ではこれは私が持っているものである

はどのようにあなたがしたい(テキスト)データにアクセスすることができますページから?私は主語の名前を取得したい。 HTMLの一部は次のようになります。これを行うには、いくつかの方法があります

html

+0

これはC#で行う必要がありますか?私は、JavaScriptを使ってデータを読むのがずっと簡単だと思います。あなたがC#でのさらなるアクションのためのデータを必要としないなら、あなたは単純なjavascriptスニペットでそれを行うことができます。 – Marius

+3

HTML –

+0

を解析するには、['HtmlAgilityPack'](http://htmlagilitypack.codeplex.com/)を使用して[そのソフトウェア](https://www.kamar.nz/)のドキュメントはどうですか?既に利用可能なエクスポート機能を見つけるためにwebappのドキュメントをチェックしましたか?それはあなたの仕事を大幅に簡素化するでしょう... – Paolo

答えて

0

:1は、正規表現のマッチング可能とタグの内容を取り、別のは、ちょうどHtmlAgilityPackライブラリを使用することであろうう。

C#で行う必要がない場合は、PythonやPerlのような別の言語を強くお勧めします。可能であれば、データをスクラップしようとしているようですが、この場合はPythonのScrapyフレームワークを使用することを強くお勧めします。これは擦り傷のために私が遭遇した最良のツールであり、XPathを使用してデータを簡単に取得することができます。ここにはlink to Scrapy's websiteがあります。

+0

ありがとうございました!私はそれらを見るでしょう。多分Pythonを考えてみてください:) –