首页 > 代码库 > Android 【山西违章查询实现1】(解析网页源码然后ListView显示出来)---利用正则表达式解析网页源码

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验证一下

技术分享

没有问题,拿出来十三个值。

 

Android 【山西违章查询实现1】(解析网页源码然后ListView显示出来)---利用正则表达式解析网页源码