分享

接着昨天的,一个分析网页源代码提取股票数据的程序

 accesine 2005-08-11

 

主要的就是字符串处理:
        private void AnsCode(string url)
        
{
            
string date="";
            
string open="";
            
string high="";
            
string low="";
            
string close="";
            
string transA="";
            
string transB="";

            
string str=url;

            
string s1="",s2="",s3="",s4="";
            
int pos1=0,pos2=0,pos3=0,pos4=0;
            
int flag=0;
            
while((pos1=str.IndexOf("<td align=middle>"))!=-1)
            
{
                pos1
+=17;
                str
=str.Remove(0,pos1);
                pos2
=str.IndexOf("</td>");
                s1
=str.Substring(0,pos2);
                
if(flag==0)
                
{
                    date
=s1;
                    
//MessageBox.Show(date);
                    flag++;
                }

                
else if(flag==4)
                
{
                    close
=s1;
                    flag
++;
                    pos3
=str.IndexOf("<td align=right>");
                    pos3
+=16;
                    str
=str.Remove(0,pos3);
                    pos4
=str.IndexOf("</td>");
                    s1
=str.Substring(0,pos4);
                    transA
=s1;
                    flag
++;
                    pos3
=str.IndexOf("<td align=right>");
                    pos3
+=16;
                    str
=str.Remove(0,pos3);
                    pos4
=str.IndexOf("</td>");
                    s1
=str.Substring(0,pos4);
                    transB
=s1;
                    flag
++;
                }

                
else if(flag==1)
                
{
                    open
=s1;
                    flag
++;
                }

                
else if(flag==2)
                
{
                    high
=s1;
                    flag
++;
                }

                
else if(flag==3)
                
{
                    low
=s1;
                    flag
++;
                }

                
if(flag==7)
                
{
                    
//处理close字符串
                    int t1=close.IndexOf("<b>");
                    t1
+=3;
                    close
=close.Remove(0,t1);
                    
int t2=close.IndexOf("</b>");
                    close
=close.Remove(t2,4);

                    flag
=0;
                    
//数据在列表中显示
                    ListViewItem lv=new ListViewItem();
                    
//MessageBox.Show(date);
                    lv.SubItems.Clear();
                    lv.SubItems[
0].Text=date;
                    lv.SubItems.Add(open);
                    lv.SubItems.Add(high);
                    lv.SubItems.Add(low);
                    lv.SubItems.Add(close);
                    lv.SubItems.Add(transA);
                    lv.SubItems.Add(transB);
                    listView1.Items.Add(lv);
                }

            }

            MessageBox.Show(
"采集完成");
        }
那个url是网页的源码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约