我正在尝试重新创建一个来自在线广播电台的旧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秒左右检索一次名字和艺术家。
知道使用什么代码吗?
答案 0 :(得分:0)
您可能想要将整个页面拉回来。主要考虑因素是:
HttpWebResponse.GetResponseStream
打开该流,然后阅读,直到您需要的块结束(您需要随时分析文本) ),最后调用HttpWebResponse.Close
关闭流并释放连接您需要测试哪种方法对您正在抓取的特定页面更有效。
所以通常的方法是检索整个html流,然后使用正则表达式找到你需要的块,并保持你的代码简单。
<强>建议强>
如果你想保持真的简单,那么看看HtmlAgilityPack,它甚至可以在NuGet上与Visual Studio 2012一起使用。它使得使用html抓取非常简单。