前几天有个喜欢海淘的朋友就问我,能不能帮他制作运单查询软件,我问她想干嘛?她就说她经常在海外网站买东西,用的一直是微转运国际速递。所以她每次查询运单都要一次打开浏览器又一次关闭浏览器,十分繁琐。就问问我这个老同学能都帮她制作个微转运国际速递运单查询软件,唉,看在老同学的面上我就同意了。之后我开始微转运国际速递运单查询,我是个刚刚学习易语言的菜鸟,听说易语言是小学生玩的东西?那我是不是瞬间也成为了小学生啊。好了,不扯了,开始正文,由于本人技术有限,根据自己的思路编写的微转运国际转运运单查询。
1、打开微转运国际速递官网
在精易助手里输入微转运网站www.wzhuanyun.com,来抓取运单查询时的post包。
成功抓取微转运国际速递post包,那我来分析分析。
提交地址: 提交数据:truck_no=WZ123456789 (运单单号是错误的,保护隐私,这里只做演示)
看来我已经抓取到post了,接下来就是动刀!打开易语言程序!
2、用易语言开始编写程序
先新建个程序,一个编辑框1和编辑框2和按钮1.
双击查询开始编写代码。新建个变量,取名微转运,文本型。
.版本 2 .子程序 _按钮1_被单击 .局部变量 微转运, 文本型 微转运 = 到文本 (网络_访问网页_文本 (“http://www.wzhuanyun.com/shipment_process.htm”, “post”, “truck_no=” + 编辑框1.内容)) 编辑框2.内容 = 编码_URL解码Utf8 (微转运)
成功获取页面的运单网页时,那就开始截取网页上的信息。
.版本 2 .子程序 文本_取中间文本_内部, 文本型 .参数 欲取全文本, 文本型 .参数 左边文本, 文本型 .参数 右边文本, 文本型 .参数 跳过次数, 整数型, 可空 .参数 起始位置, 整数型, 可空 .局部变量 左边出现的位置, 整数型 .局部变量 右边出现的位置, 整数型 .局部变量 文本长度, 整数型 .如果真 (起始位置 > 0) 左边出现的位置 = 寻找文本 (欲取全文本, 左边文本, 起始位置, 真) .如果真结束 .计次循环首 (跳过次数, ) 左边出现的位置 = 寻找文本 (欲取全文本, 左边文本, 左边出现的位置 + 1, 真) .计次循环尾 () 左边出现的位置 = 寻找文本 (欲取全文本, 左边文本, 左边出现的位置 + 1, 真) 右边出现的位置 = 寻找文本 (欲取全文本, 右边文本, 左边出现的位置 + 1, 真) .如果真 (左边出现的位置 = -1) 返回 (“”) .如果真结束 .如果真 (左边出现的位置 = -1 或 右边出现的位置 = -1) 返回 (“”) .如果真结束 文本长度 = 取文本长度 (左边文本) 返回 (取文本中间 (欲取全文本, 左边出现的位置 + 文本长度, 右边出现的位置 - 左边出现的位置 - 文本长度))
这里已经截取到网页内容,
.版本 2 编辑框4.内容 = 文本_取中间文本 (编辑框2.内容, “收货人:”, “</div>”, , ) 编辑框3.内容 = 文本_取中间文本 (编辑框4.内容, “>”, “</font>”, , ) ' 收货人 编辑框5.内容 = 文本_取中间文本 (编辑框2.内容, “step-txt liucheng_txt1”, “step-txt liucheng_txt2”, , ) 编辑框7.内容 = 文本_取中间文本 (编辑框5.内容, “blue_font”, “red_font”, , ) 编辑框8.内容 = 文本_取中间文本 (编辑框7.内容, “>”, “<”, , ) ' 时间1 编辑框6.内容 = 文本_取中间文本 (编辑框2.内容, “red_font”, “</div>”, , ) 编辑框9.内容 = 文本_取中间文本 (编辑框6.内容, “>”, “</font>”, , ) 编辑框10.内容 = 文本_取中间文本 (编辑框5.内容, “操作人”, “iv>”, , ) 编辑框11.内容 = “已打包” 编辑框12.内容 = 文本_取中间文本 (编辑框2.内容, “step-txt liucheng_txt2”, “step-txt liucheng_txt3”, , ) 编辑框13.内容 = 文本_取中间文本 (编辑框12.内容, “blue_font”, “font>”, , ) 编辑框14.内容 = 文本_取中间文本 (编辑框13.内容, “>”, “<”, , ) ' 时间2 编辑框15.内容 = 文本_取中间文本 (编辑框12.内容, “red_font”, “</div>”, , ) 编辑框16.内容 = 文本_取中间文本 (编辑框15.内容, “>”, “<”, , ) 编辑框17.内容 = “已发货” 编辑框18.内容 = 文本_取中间文本 (编辑框2.内容, “step-txt liucheng_txt3”, “step-txt liucheng_txt4”, , ) 编辑框19.内容 = 文本_取中间文本 (编辑框18.内容, “blue_font”, “font”, , ) 编辑框20.内容 = 文本_取中间文本 (编辑框19.内容, “>”, “<”, , ) 编辑框21.内容 = 文本_取中间文本 (编辑框18.内容, “red_font”, “</div>”, , ) 编辑框22.内容 = 文本_取中间文本 (编辑框21.内容, “>”, “<”, , ) ' 时间3 编辑框23.内容 = 文本_取中间文本 (编辑框2.内容, “step-txt liucheng_txt4”, “step-txt liucheng_txt5”, , ) 编辑框24.内容 = 文本_取中间文本 (编辑框23.内容, “blue_font”, “font>”, , ) 编辑框25.内容 = 文本_取中间文本 (编辑框24.内容, “>”, “<”, , )
以上是一个个截取、不要说辛苦
基本效果就是以上效果,但是我并没有完成。最终我那位同学竟然说我这个还不如打开网页查询,我就说当你打开网页加载页面的时候,我已经获取post的了,好了以上就是没事练练手,熟悉一下易语言截取文本的练习。