倔强的网站数据抓取,关键时刻还需Webbrowser显身手

       由于最近台风挺多,公司网站上需要挂上台风预报信息,就整了个抓取台风数据(至于抓数据的概念和实践手册我以前写的一篇博客里面有介绍:分享一套抓数据小程序,客户资料、实时新闻、股票数据…随心抓的服务,做调试阶段,发现个诡异的问题。如下:

      需要抓取的数据是个xml文件,地址如下:http://typhoon.weather.gov.cn/Typhoon/data/20130041.xml,这是政府气象网发布的最近某个台风的数据信息,具体代表什么意思不是本文研究的范畴,有兴趣的可以研究研究。

1. 首先我用WebClient去请求此地址,核心代码如下:

1  WebClient wc = new WebClient();
2  wc.Encoding = Encoding.UTF8;
3 string str = wc.DownloadString("http://typhoon.weather.gov.cn/Typhoon/data/20130041.xml");

获取到的数据节点如下:

复制代码
<typhoon>
<key YMDHM="2013101612" V05="11.6" V06="143.1" V07="8" V08="18" V09="998" V11="5" V12="NW" V21="150" V22="0">...</key>
<key YMDHM="2013101618" V05="11.2" V06="142.8" V07="8" V08="20" V09="996" V11="5" V12="NW" V21="160" V22="0">...</key>
<key YMDHM="2013101700" V05="11.1" V06="142.7" V07="11" V08="30" V09="980" V11="8" V12="NNW" V21="260" V22="60">...</key>
<key YMDHM="2013101706" V05="11.3" V06="142.7" V07="12" V08="35" V09="970" V11="15" V12="NNW" V21="280" V22="80">...</key>
<key YMDHM="2013101712" V05="12.1" V06="142.8" V07="13" V08="40" V09="960" V11="15" V12="NNW" V21="300" V22="100">...</key>
<key YMDHM="2013101718" V05="13.1" V06="142.6" V07="14" V08="42" V09="955" V11="16" V12="NNW" V21="320" V22="110">...</key>
<key YMDHM="2013101800" V05="13.8" V06="142.2" V07="15" V08="50" V09="940" V11="15" V12="NNW" V21="350" V22="120">...</key>
<key YMDHM="2013101806" V05="14.2" V06="142" V07="16" V08="55" V09="930" V11="15" V12="NW" V21="350" V22="130">...</key>
<key YMDHM="2013101812" V05="15.2" V06="141.8" V07="16" V08="55" V09="930" V11="15" V12="NW" V21="350" V22="130">...</key>
<key YMDHM="2013101818" V05="15.9" V06="141.1" V07="17" V08="60" V09="920" V11="15" V12="NW" V21="350" V22="130">...</key>
<key YMDHM="2013101900" V05="16.1" V06="140.5" V07="17" V08="60" V09="920" V11="15" V12="NW" V21="350" V22="130">...</key>
<key YMDHM="2013101906" V05="16.7" V06="139.7" V07="17" V08="60" V09="920" V11="13" V12="NW" V21="350" V22="130">...</key>
<key YMDHM="2013101912" V05="17.1" V06="139.1" V07="18" V08="62" V09="915" V11="13" V12="NW" V21="350" V22="150">...</key>
<key YMDHM="2013101918" V05="17.5" V06="138.3" V07="18" V08="62" V09="915" V11="13" V12="NW" V21="350" V22="150">...</key>
<key YMDHM="2013102000" V05="17.8" V06="137.7" V07="18" V08="62" V09="915" V11="10" V12="NNW" V21="350" V22="150">...</key>
<key YMDHM="2013102006" V05="18.4" V06="137.3" V07="18" V08="62" V09="915" V11="12" V12="NNW" V21="350" V22="150">...</key>
<key YMDHM="2013102012" V05="18.8" V06="136.8" V07="17" V08="58" V09="925" V11="10" V12="NNW" V21="350" V22="150">...</key>
</typhoon>
复制代码

      

posted @   施瓦小辛格  阅读(4856)  评论(20编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示