本文主要为广大网友提供“基于正则表达式的内文关键字广告投放系统”,希望对需要基于正则表达式的内文关键字广告投放系统网友有所帮助,学习一下!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1. 详细设计及实现 3.1. 广告投放的具体流程 当网页第一次被用户浏览时,保存该网页广告词列表的Url.js文件还未生成,因此浏览器将把该网页内容提交给服务器进行分析,服务端的Web Service将根据客户端提交内容生成内容文本文件交给关键词分析服务进行处理,关键词分析服务将根据当前系统中的出售的广告词信息和提交的页面内容分析出该页面具有的广告词并生成相应的Url.js文件保存在磁盘中。当该网页再一次被浏览时,保存该网页广告词信息的Url.js文件将被下载到客户端,客户端脚本根据Url.js文件中保存的广告词列表分别加载保存每个广告词广告详细信息的Keyword.js文件,当所有的Keyword.js文件加载完成后开始网页HTML内容进行修改使其中的广告词投放相应的广告。用户点击广告后将跳转至服务器的Click.aspx页面,该页面将该点击记录成清单文件交给计费服务处理然后将用户跳转至广告的详细信息页面。 3.2. 网页内容的提交和分析 内文关键字广告需要基于目标网页内容进行相应的投放,所以必须获得目标网页的内容,然后分析目标网页的内容中含有哪些广告词。通常搜索引擎获取网页的内容都是通过网络爬虫来获取,由于广告投放页面都添加了本系统提供的JavaScript声明,所以广告投放服务器可以返回相应的JavaScript来控制客户端的行为,因此获取网页内容的任务就转移给了客户端,这样网站就不必担心网络带宽被爬虫工具所占用,客户端可以控制只提交其中需要投放广告页面的内容。 1.2.1. 跨域问题 浏览器出于安全的考虑,默认情况下不允许JavaScript进行跨域访问,无法通过JavaScript在*.DomainA.com中把内容提交到*.DomainB.com的服务器上。综合现有的几种跨域解决方法,本系统最终采用Flash Remoting的方式来提交网页内容数据。Flash Remoting与.Net的Remoting不同,.Net可以使用TCP或HTTP协议的传输信道,而Flash Remoting只能使用HTTP协议的传输信道,在Flash Player 5或更早版本的播放器中,跨域或子域访问不受限制,在Flash Player 7播放器中,播放器执行精确域匹配而不是超域匹配规则,即在未经允许的情形下,跨域访问是禁止的。Flash Remoting要实现跨域连接,需要创建一个“crossdomain.xml”的域策略文件,名称必须为“crossdomain.xml”。例如如果DomainB需要通过Flash访问部署在DomainA服务器上的服务,则需要在DomainA的服务器上创建crossdomain.xml的内容如下: <?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*.DomainB.com" /> </cross-domain-policy> 用Flash Remoting提交网页内容的局限性在于客户端需要安装Flash插件,由于现在Flash应用已经相当广泛,大部分的客户端浏览器都装有Flash插件,所以该局限性就显得微不足道。本系统通过在返回给客户端的JavaScript中动态输出一个Flash引用使客户端加载相应的Flash文件,然后通过JavaScript获得网页内容并通过该Flash调用部署在服务器端的Web Service生成内容文本文件,之后关键词分析服务将对生成的内容文件进行分析。由于之后的广告投放中需要得到该网页的关键词和所在站点的投放设置,所以客户端提交给服务器的内容中需要包含系统提供给站点JavaScript声明中的站点标识和该网页的URL地址。 1.2.2. Flash实现 由于该Flash唯一的作用就是提交网页内容,因此设置它的大小为1px×1px,使其在页面中不可见。该Flash分为两帧,第一帧定义需要提交的内容参数,第二帧做出提交动作,实现分别如下: 第一帧: System.security.allowDomain("*"); var url, content, serviceUrl, siteID; fscommand("cmd", ""); stop(); 首先允许Flash在所有的域上执行,然后定义四个变量,它们分别表示当前网页的url地址,提交的网页内容,请求的Web Service地址和当前站点的标识ID。 第二帧: import mx.services.*; var _ws; _ws = new WebService(serviceUrl); _ws.InsertUrl(siteID, url, content); 第二帧的主要任务就是新建一个WebService对象,然后调用该Web Service对象的InsertUrl方法将内容提交至服务器 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |