首页 > 代码库 > 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显示出来)---利用正则表达式解析网页源码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。