使用C#/ vb.net从网站获取数据

时间:2012-05-19 17:21:40

标签: c# asp.net xml vb.net screen-scraping

我有一个具有以下结构的XML:

<table name="tblsiccodes">
    <row>
        <sSICCode>0888</sSICCode>
    </row>
    <row>
        <sSICCode>0900</sSICCode>
    </row>
    <row>
        <sSICCode>1000</sSICCode>
    </row>
    <row>
        <sSICCode>1040</sSICCode>
    </row>
    <row>
        <sSICCode>1044</sSICCode>
    </row>
    <row>
        <sSICCode>1090</sSICCode>
    </row>
    <row>
        <sSICCode>1220</sSICCode>
    </row>
    <row>
        <sSICCode>1221</sSICCode>
    </row>
</table>

我需要从这个网站上选择每个SIC代码的描述

http://www.epa.gov/enviro/html/sic_lkup.html

或本网站

http://www.sec.gov/info/edgar/siccodes.htm

使用vb.net从网站获取每个SIC的描述最简单的方法是什么?我无法修改此XML文件。我是否需要创建一个手动复制SIC代码和描述的集合,然后通过将SIC代码与集合匹配来获取XMl中SIC代码的描述?最终收集将用于填充转发器,每个项目/行具有SIC代码和行业名称。

我需要进行屏幕报废吗?我不认为这些网站有一些API /服务,我可以使用它获得行业名称

我不能使用HTMl敏捷包或除Jquery之外的任何其他第三方库。

请建议。

1 个答案:

答案 0 :(得分:0)

查看第一页的来源,它包含以下选择:

<select>
   <option value=''> NO SIC CODE SELECTED </option>
   <option value='3291'> ABRASIVE PRODUCTS (SIC Code: 3291) </option>
   (...)
</select>

所以它继续下去。
您可以将select的所有选项保存为另一个xml文件,然后使用XDocument或.net的任何其他Xml加载功能(即c#或vb.net)来遍历您的文档,并按值查找每个SIC代码xml中包含所有optoins的value属性。
当然,这可能不是最快的方式,但最容易实现。