(2)通过得到的关键字和该网站的URL获取网页的源代码。
(3)通过分析网页源代码获得与用户输入的关键字相匹配的商品名称和价格。
1。6 小结
本章介绍了比价服务的背景和发展现状,也阐述了现在比价服务的不足以及本课题所研究的跨境比价软件产生的必要性。尽管这种跨境比价软件在目前很难推广使用,但在将来可能会成为很有潜力的比价服务软件。本章也说明了该跨境比价软件要完成的一些基本功能以实现跨境网站的商品价格比较功能。
2 开发跨境比价系统的技术分析
本软件在PC上开发,该PC采用core i5 3210M CPU 主频2。50GHz,8GB DDR3内存 64位Windows10操作系统。开发IDE采用Delphi2010。主要运用了Delphi技术。
2。1 Delphi 2010简介
Delphi 2010是可视化集成开发环境,所用编程语言是Object Pascal,起初Delphi由Borland公司开发,例如经典的Delphi 7。Delphi 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resource Workshop)。Delphi 2010版本已经由Borland公司转移到Embarcadero公司下,是一个面向对象的程序开发环境。与其它开发环境如Visual Studio C++和Eclipse Java相比,Delphi更具有简洁,快速的的特点。而且基于Pascal的Object Pascal语言也简单易上手。Delphi的编译器速度也很快,在编写工程量不大的程序时,Delphi是程序员很好的选择。此外,Delphi 2010版本有较全面的函数库和功能强大的可视化组件,可以满足网络编程的基本需求[3]。因此,为完成本次的跨境比价软件,作者采用Delphi 2010作为主要的开发环境。
2。2 IDHTTP组件
在完成比价功能时,最重要的环节即获取网页信息,Delphi 2010本身自带IdHTTP组件可以很方便完成此功能。作者在选择抓取网页信息所用的组件为IDHTTP组件而非WebBrowser是因为尽管WebBrowser简单易用,但IDHTTP在抓取网页信息时处理速度更快,更能够满足本程序的要求。IDHTTP对象本身含有Get方法,使用时需要先设置IDHTTP参数,而后通过网页URL即可获取网页源代码。值得注意的是,在获取HTTPS协议网站内容时,直接使用上述方法程序在运行时会抛出EIdIOHandlerPropInvalid异常,这是程序不能通过该组件直接访问HTTPS协议网站。可以在程序内添加一个IdSSLIOHandlerSocketOpenSSL组件并设置相应参数,之后再将IDHTTP中的IOhandler属性与该组件连接,完成此过程后便可以访问使用HTTPS协议的网站[4]。
2。3 TThread对象
Delphi中有一个线程类TThread是用来实现多线程编程的,线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当一个进程中用到超过一个线程时,就是所谓的“多线程”。为了让程序在执行过程中更流畅,软件在编写的过程中用了多线程执行的方法来完成一些后台比较耗时的操作。在Delphi中有一个名为TThread的对象,TThread对象含有下面几个主要方法,构造方法Create(),挂起线程Suspend(),唤醒线程Resume(),析构线程destroy(),终止线程Terminate。在写新线程时,需要首先改写Execute过程,该过程所写的代码即为此线程需要执行的代码。在主线程中只要构造该线程即可激活线程[5]。文献综述