- 主题:C++如何抓取网页,并提取出某个HTML节点中的数据? (转载)
【 以下文字转载自 Java 讨论区 】
发信人: sanshisui (sasuke), 信区: Java
标 题: C++如何抓取网页,并提取出某个HTML节点中的数据?
发信站: 水木社区 (Mon Nov 17 14:12:20 2014), 站内
万能的J版:
老板是农学系的教授,给了500元,
要求从一个网站中批量抓取各种“农副产品批发价格”
要求使用C++或VB,要求提供源代码
像这种
http://cif.mofcom.gov.cn/cif/html/marketDatas/index.html?nfcpgnxh_224058
估计是这样的
第一步,抓取网页;
curl或者Qt::QHttp或者MFC::CHttp 用哪个好?
第二步,解析网页;
如何是好?
悲剧了,数据还不是直接写在html里面的,是写在一段js里面的:
<script type="text/javascript">
var chartdiv = new
FusionCharts("/cif/html/js/FusionCharts/Line.swf","chartdiv", "600","350");
var xml=
"<graph bgColor='#ffffff' formatNumberScale ='0' showValues='0'
rotateNames='1' showBorder='0' setAdaptiveYMin='1' caption='' subcaption=''
numdivlines='4' xAxisName='' yAxisName='' showNames='1'>
<set name='2014-06-06' value='2.62' color='8BBA00'/>
<set name='2014-06-13' value='2.68' color='F6BD0F'/>
<set name='2014-06-20' value='2.79' color='AFD8F8'/>
<set name='2014-06-27' value='3.09' color='FF8E46'/>
<set name='2014-07-04' value='3.3' color='008E8E'/>
<set name='2014-07-11' value='3.31' color='D64646'/>
<set name='2014-07-18' value='3.2' color='8E468E'/>
<set name='2014-07-25' value='3.02' color='588526'/>
<set name='2014-08-01' value='3' color='B3AA00'/>
<set name='2014-08-08' value='3.02' color='008ED6'/>
<set name='2014-08-15' value='3.01' color='9D080D'/>
<set name='2014-08-22' value='3.38' color='A186BE'/>
<set name='2014-08-29' value='3.44' color='8BBA00'/>
<set name='2014-09-05' value='3.49' color='F6BD0F'/>
<set name='2014-09-12' value='3.47' color='AFD8F8'/>
<set name='2014-09-19' value='3.46' color='FF8E46'/>
<set name='2014-09-26' value='3.66' color='008E8E'/>
<set name='2014-10-03' value='3.45' color='D64646'/>
<set name='2014-10-10' value='3.33' color='8E468E'/>
<set name='2014-10-17' value='2.91' color='588526'/>
<set name='2014-10-24' value='2.76' color='B3AA00'/>
<set name='2014-10-31' value='2.67' color='008ED6'/>
<set name='2014-11-07' value='2.78' color='9D080D'/>
</graph>";
chartdiv.setDataXML(xml);
chartdiv.render("chartdiv");
</script>
如之奈何?
需要得到这种结果:
===== 油菜批发价格 =====
日期 批发价格(元/公斤)
2014-06-06 2.62
2014-06-13 2.68
……
--
修改:sanshisui FROM 183.15.168.*
FROM 183.15.168.*
推荐使用python
【 在 SlANmASTer 的大作中提到: 】
: 【 以下文字转载自 Java 讨论区 】
: 发信人: sanshisui (sasuke), 信区: Java
: 标 题: C++如何抓取网页,并提取出某个HTML节点中的数据?
: ...................
--来自微水木3.2.0
--
FROM 114.253.255.*
C++/VB 的需求明显是本末倒置
网页相关的东西不上 js 还犹豫个什么
【 在 SlANmASTer (渴望美女青睐 之 我爱工科女) 的大作中提到: 】
: 【 以下文字转载自 Java 讨论区 】
: 发信人: sanshisui (sasuke), 信区: Java
: 标 题: C++如何抓取网页,并提取出某个HTML节点中的数据?
: ...................
--
FROM 180.173.175.*
c++也可以做,稍麻烦些
不过加钱肯定有人愿意做
【 在 SlANmASTer (渴望美女青睐 之 我爱工科女) 的大作中提到: 】
: 发信人: sanshisui (sasuke), 信区: Java
: 标 题: C++如何抓取网页,并提取出某个HTML节点中的数据?
: 发信站: 水木社区 (Mon Nov 17 14:12:20 2014), 站内
: ...................
--
FROM 125.39.66.*