如何爬取所需的网页数据?

LeaderTech_NJ 2017-09-22 04:32:54
目标链接如下:
http://quote.morningstar.ca/Quicktakes/Financials/is.aspx?t=TSCO®ion=USA&culture=en-CA&ops=clear

需要获取的数据内容如下图所示:


最终希望返回的结果:Dictionary<DateTime,Decimal>形式
如:<2012-12-1, 146>,<2013-12-1,142>

目前现有思路:
通过WebClient获取目标网页源码String类型,然后解析,并获取所需信息。

这种思路一定可行,但是开发过程比较低效。 请教大神,是否有开源的信息爬取框架能够解决类似的问题?
...全文
948 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
玄晶软件 2021-06-17
  • 打赏
  • 举报
回复 1

可以用八爪鱼采集器,只要三步,轻松采集到数据

 

全栈极简 2017-09-24
  • 打赏
  • 举报
回复
同意3#,通过httpwebrequest获取到数据后,解析json即可。 http://www.cnblogs.com/guwei4037/p/6835294.html http://www.cnblogs.com/guwei4037/p/3499184.html
needfreedoms 2017-09-23
  • 打赏
  • 举报
回复
用浏览器的开发人员工具先查找你要的数据 然后下载下来字符串操作就行了 http://financials.morningstar.com/ajax/ReportProcess4HtmlAjax.html?t=XNAS:TSCO®ion=USA&culture=en_ca&productCode=CAN&reportType=is&period=12&dataType=A&order=asc&columnYear=5&curYearPart=1st5year&rounding=3&view=raw&r=829605&callback=jsonp1506178856325&_=1506178856357 这个是数据
闭包客 2017-09-22
  • 打赏
  • 举报
回复
使用一个 html 解析器,可以节省分析 html 的时间: http://blog.csdn.net/closurer/article/details/73466685 这里有和 WebClient 搭配使用的例子: http://bibaoke.com/post/77 前面有人说到,这个网页的数据是异步加载的,这种需要和 WebBrowser 搭配使用: http://bibaoke.com/post/78 你也可以使用 phantomjs、selenium 这些业界的流行方案。
shoppo0505 2017-09-22
  • 打赏
  • 举报
回复
看了下,这个网页的source 屏蔽掉了你要的内容,就是抓下网页也没用. 试下别的网站吧. 如果谁解决内容屏蔽问题,我也很乐意听听.

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧