c#从网页对象中获取文本

本文关键字:获取 取文本 对象 网页 | 更新日期: 2023-09-27 18:14:08

我正在尝试重新创建我的一个旧的c#应用程序,从一个在线广播电台流。旧的问题是,它加载了整个网页只是为了显示它的某个区域,这需要更多的资源,我认为必要的。所以,现在我重写了整个应用程序,我正在寻找一种方式,我如何可以检索文本从网站上的以下代码:

 <div id="now" style="visibility: visible; display: block;">
    <div class="scroll" style="margin-left: 0.000px;">
        <div id="title">SONG_NAME</div>
        <div id="artist">SONG_ARTIST</div>  
    </div>
 </div>

此曲在页面上不断更新,并显示当前歌曲的名称和演唱者。

id="title"为歌曲名,id="artist"为歌曲作者。

我希望每隔10秒左右检索一次名称和艺术家。

c#从网页对象中获取文本

您可能想要把整个页面拉回来。主要注意事项有:

  • 你可以请求未压缩的html,并使用HttpWebResponse.GetResponseStream打开流,然后读取直到你需要的块结束(你需要分析文本),最后调用HttpWebResponse.Close关闭流并释放连接
  • 如果整个响应被压缩,那么在解压缩之前得到整个响应可能会更有效。

你需要测试哪一个对你正在抓取的特定页面更有效。

所以通常的方法是检索整个html流,然后使用正则表达式找到你需要的块,并保持你的代码简单。

推荐

如果你想保持真的简单,那么看看htmllagilitypack,它甚至在NuGet上与Visual Studio 2012一起使用。