2010-08-02 43 views
0
http://www.dsebd.org/latest_PE.php 

以上url包含几个信息。从这个URL我只是想得到波纹管信息。 如何?如何获取C#变量中的URL信息?

Price Earning Ratio : at a glance 
on Aug 2, 2010 at 11:28:00 

我想知道如何得到网址信息到一个变量或C#。具体的一些存储容器,我需要上面的信息,我不需要的信息休息。 我用的波纹管语法:

WebClient objWebClient = new WebClient(); 

aRequestHTML = objWebClient.DownloadData("http://www.dsebd.org/latest_PE.php");//http://www.dsebd.org/latest_PE_all2_08.php 
UTF8Encoding utf8 = new UTF8Encoding(); 
myString = utf8.GetString(aRequestHTML); 
HtmlDocument htmlDoc = new HtmlDocument(); 
htmlDoc.LoadHtml(myString); 

之后做什么我没有猜错的任何thing.Plz表现出一定的语法

foreach (HtmlNode node in doc.DocumentNode.SelectNodes(@"//td"))//td[text()="Price Earning Ratio : at a glance" 
      { 
       if (node.InnerHtml.Contains("Price Earning Ratio")) 
       { 
        //I get the td value 

       } 
       //[text()=Price Earning Ratio : at a glance 
       // do stuff with node //@"//td[text()=Price Earning Ratio : at a glance" 
      } 

添加上述语法后,我拿出波纹管放

<br> 
     <font color="#FFFFFF" size="3" face="Arial"><b>Price Earning Ratio : at 
     a glance <b> </b></b></font><br> 
    <font color="#FFFFFF" size="2" face="Arial"><b> on Aug 2, 2010 at 17:04:00<b></b></b></font> 
    <br> 

从这里我只想得到日期的一部分。哦到?没有这个日期我不需要任何东西。每天这个日期会改变,它是动态的日期,所以我不能内联这个日期。 从上面看出我如何得到日期。

+0

? – Nealv 2010-08-02 09:05:01

回答

4

查看HTML Agility Pack - 它是一个HTML解析器,它允许您传递一个URL,解析该URL,以便您可以使用XPath查询它。

HtmlWeb hw = new HtmlWeb(); 
HtmlDocument doc = hw.Load("http://www.dsebd.org/latest_PE.php"); 

此时doc可以查询看着:您使用的PHP或asp.net

foreach(HtmlNode node in doc.DocumentNode.SelectNodes("XPATH for interesting nodes")) 
{ 
    // do stuff with node 
} 
+0

+1,HTML Agility Pack非常好,我用它在几个项目 – Regent 2010-08-02 09:12:47

+0

我使用这个包但是我不能解决这个问题,看完上面的代码后你会告诉什么?提前致谢 – shamim 2010-08-02 09:13:11

+0

@shamim - 看看网站上的例子。你需要使用xpath来获取你感兴趣的节点。 – Oded 2010-08-02 09:14:03

0

如果您想从上面的URL下载内容,您可以使用WebClient(标准c#类制作http请求)进行http调用,然后Html Agility Pack解析html并提取数据。

+0

我是Html Agility Pack中的新手,我不知道如何使用这个包。看到上面的代码后,你会plz帮我解决这个问题。 – shamim 2010-08-02 09:12:13