对于这样的网页上的一个table,有没有好的办法解析出来生成数据表。劳烦各位!

22222bbb 2014-08-31 11:01:49
http://www.gzzb.gd.cn/cms/wz/view/wskb/WskbDetailServlet?zbsqid=6DD87570-1191-11E4-B570-91FD2A329A7E
网页如上面这个,解析网页的源码好像很难啊。。。各位有无好的方法,感谢!
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
22222bbb 2014-09-01
  • 打赏
  • 举报
回复
上面这个网页就是真实的数据,我需要的就是表格中的数据
22222bbb 2014-09-01
  • 打赏
  • 举报
回复
打开上面网页就是真实数据啊?一种是解析源码,感觉非常复杂,太多没有用的信息。 另一种是用webbrowser打开,innerText会相对简洁很多,但实在觉得使用 pos和copy这样很费劲,而且有时不准确,想问一下除了这两种还有无其他方法
haitao 2014-09-01
  • 打赏
  • 举报
回复
看html源码,还是很有规律的嘛:
						<tr>

							<td align="center">20 </td>

							<td >广东南方建设工程有限公司 </td>

							<td >完好 </td>

							<td >是 </td>

							<td >有 </td>

							<td >项目保证金 </td>

							<td >300000 </td>

							<td>28066567.22 </td>

							<td >4318567.90 </td>

							<td>1084305.01 </td>

							<td >601702.99 </td>

							<td >谢湛常 粤144121321197 </td>

							<td>谢湛常 粤144121321197 </td>

							<td >黄伟 粤建安C(2013)0007930 </td>

							<td >黄伟 粤建安C(2013)0007930 </td>

							<td >300日历天 </td>

							<td >按招标文件的要求 </td>

							<td >有 </td>

							<td >有 </td>

							<td>否 </td>

							<td> </td>

						</tr>
简单的字符串定位就行了
aniugee 2014-09-01
  • 打赏
  • 举报
回复
看数据排列是有规律的,优先考虑用innerText的方式,如果用POS网页源码应该更复杂而且容易出错
lyhoo163 2014-09-01
  • 打赏
  • 举报
回复
还有一种办法,就是分批,拷贝表的内容,这样可以排除不必要的数据,然后通过分析粘贴板中的数据,分解字条串的办法,加入到数据库中。
Frank6600 2014-09-01
  • 打赏
  • 举报
回复
其实两种方法你自己都想到了。 第一种方法就是你自己说的,用WebBrowser打开,操作它的BOM,一层一层打开,这是最容易的,几乎不必用到pos,copy; 第二种方法,用TIDHttp等控件,取回全部html原始码。再来就是分析html: 分析HTML不是用你说的pos,copy, 而是写状态机: 用一个状态变量,比如 TStatus = (..............................); 然后用 for i:=1 to length(str) c:=str[i]; 来遍历, 当分析到每一个char时,判断它,然后变更status值, 当status时正确时,newstr:=newstr+c; 即获得一个正确的分割字符串; 此时将newstr加以处理,然后清空newstr,继续遍历直到str尾端. 大体如此。
踏雪无痕 2014-08-31
  • 打赏
  • 举报
回复
真实数据啊。。。。。。。。。。。。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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