Android 【山西违章查询实现1】(解析网页源码然后ListView显示出来)---利用正则表达式解析网页源码
这几天学习Android网络方面的,本来想从网上找些违章查询的接口,看了一下基本上都是付费的,索性自己写一个。
主要是 到正则表达式(我都不好意思说我用的正则表达式了)解析了一个网页,然后从ListView显示出来,还有轻量级的SQlite(储存违章查询)。
想写一个详细点的所以慢慢来,以后自己回来看的时候估计也会觉得自己写的很乱吧。
----------------------------------
1.首页查看自己要解析的网页和网址的构成
还需要验证码,最后发现验证码就是骗人的(有点坑啊)。提取到真实网址。
http://59.49.18.116:8008/sxwwpt_wai/inquire/illegalAction!carInquire.action?type=vehillegal&hpzl=02&csjcKey=140000&vioViolation.hphm=M00000&clsbdm=000000
hphm=M00000 这是车牌号
clsbdm=000000 这是车架号
解析出来后看看网页源码构成然后拿出自己想要的东西。
1 <td>2014-10-05<br/>15:57:00</td><td class="if_left">后稷步行街</td><td>1039<br>不按规定停车</td><td>0</td >td>200</td><td>140824015500<BR/>稷山县公安局交通警察大队女子中队</td><td><BR/></td><td><span style="color:red;">未处理</span><span style="color:#0c902e;"></span><br><br/></td> 2 <td><span style="color:#0c902e;"></span><span style="color:red;">未交款</span>
对照着源码很容易拿出自己想要的东西。
正则表达式 用(.*?) 代替你想要的东西,用 .*? 表示可以代替任意字符的东西
最后表达式为
1 <td>(.*?)<br/>(.*?)</td>.*?<td.*?>(.*?)</td>.*?<td>(.*?)<br>(.*?)</td>.*?<td>(.*?)</td >.*?<td>(.*?)</td>.*?<td>(.*?)<BR/>(.*?)</td>.*?<td>(.*?)<BR/>(.*?)</td>.*?<td>.*?<.*?>(.*?)</span>.*?<.*?>.*?</span>.*?<br>.*?<br/>.*?</td>.*?<td>.*?<.*?>.*?</span>.*?<.*?>(.*?)</span>
最后用RegExTester验证一下
没有问题,拿出来十三个值。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。