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秒左右检索一次名称和艺术家。
您可能想要把整个页面拉回来。主要注意事项有:
- 你可以请求未压缩的html,并使用
HttpWebResponse.GetResponseStream
打开流,然后读取直到你需要的块结束(你需要分析文本),最后调用HttpWebResponse.Close
关闭流并释放连接 - 如果整个响应被压缩,那么在解压缩之前得到整个响应可能会更有效。
你需要测试哪一个对你正在抓取的特定页面更有效。
所以通常的方法是检索整个html流,然后使用正则表达式找到你需要的块,并保持你的代码简单。
推荐如果你想保持真的简单,那么看看htmllagilitypack,它甚至在NuGet上与Visual Studio 2012一起使用。