解决方案:页面关键字标签及采集新闻自动添加关键字

优采云 发布时间: 2022-09-25 03:08

  解决方案:页面关键字标签及采集新闻自动添加关键字

  【IT168科技文章】为了方便搜索引擎,仿NB的文章系统为下一页的关键词做了标签!

  第一步

  在 foosun\Admin\Refresh\Function.asp 中找到

  函数GetNewsContent(TempletContent,NewsRecordSet,NewsContent)

  TempletContent = Replace(TempletContent,"{News_Title}",NewsRecordSet("Title"))

  在下面添加

  '关键字标签

  如果 Not IsNull(NewsRecordSet("keywords")) 那么

  TempletContent = Replace(TempletContent,"{News_keywords}",NewsRecordSet("keywords"))

  其他

  TempletContent = Replace(TempletContent,"{News_keywords}","")

  如果结束

  '关键字标签

  在倒数第二行,即%>之前,添加

  '************************************

  '作者:lino

  '将标题与关键字表中的记录匹配

  '开始

  '**********************************

  函数replaceKeywordByTitle(title)

  Dim whereisKeyword,i,theKeywordOnNews

  Dim 关键字、rsRuleObj、theKeywordS

  '***如果使用3.0版本,请将下游fs_Routine改为Routine

  Set RsRuleObj = Conn.Execute("Select * from FS_Routine")

  do while Not RsRuleObj.Eof

  keyword = RsRuleObj("name")

  

  whereisKeyword = InStr(Lcase(title),Lcase(keyword))

  if(whereisKeyword>0) 那么

  如果(theKeywordOnNews="") 那么

  theKeywordOnNews=关键字

  其他

  theKeywordOnNews=theKeywordOnNews&""&keyword

  如果结束

  如果结束

  RsRuleObj.MoveNext

  循环

  '如果关键字的长度大于100,截断长的那个

  if(len(theKeywordOnNews)>99) 那么

  theKeywordOnNews=left(theKeywordOnNews,99)

  如果结束

  replaceKeywordByTitle = theKeywordOnNews

  结束函数

  '******************************

  '结束

  第二步

  在 foosun/funpages/lablenews.asp

  查找选择插入字段

  在下面添加

  '页面关键字标签

  网页关键字

  '页面关键字标签

  第 3 步

  在 foosun/admin/info/newswords.asp 的第 306 行发现

  

  INewsAddObj("KeyWords") = Replace(Replace(Request("KeywordText"),"""",""),"'","")

  把这句话改成

  '************************************

  '作者:lino

  '调用replaceKeywordByTitle方法过滤关键字

  '如果用户自定义了关键字,则自动关键字设置不起作用

  '开始

  '**********************************

  暗淡关键字文本

  if (Request("KeywordText")="" or isempty(Request("KeywordText"))) 那么

  KeywordText = replaceKeywordByTitle(ITitle)

  其他

  KeywordText = Request("KeywordText")

  如果结束

  如果 KeywordText "" 那么

  INewsAddObj("KeyWords") = Replace(Replace(KeywordText,"""",""),"'","")

  如果结束

  '结束

  '************************************

  第四步

  在Foosun/Admin/Collect/movenewstosystem.asp中关于第117行,找到

  RsSysNewsObj("TxtSource") = RsNewsObj("来源")

  改成

  RsSysNewsObj("keywords") =replaceKeywordByTitle(RsNewsObj("title"))

  程序更改OK!

  在下面做一个标签,在自定义标签的新闻浏览中可以自己选择页面关键词标签

  具体标签如下{News_keywords},写在新闻模板的标题或元中心,方便搜索引擎收录!

  操作方法:加载页面前执行js脚本,实现浏览器指纹变更

  一般浏览器会先加载首页,然后再请求关联的js脚本文件。无论是在html中嵌入js代码,还是保存为单独的文件,都必须等待首页加载完毕,才能执行js代码。网上有人说js代码放在头上。事实上,这并不影响脚本执行的时机。因为js或者html还没有加载,怎么执行js代码。先看页面加载资源的顺序

  我们来简单分析一下onload事件的执行时机。

  Document.onload

  加载完结构和样式后执行js。 【html和css都完成后执行】

  Window.onload

  不仅需要加载结构体和样式,还要执行所有的样式、图片等资源文件,加载完毕后会触发window.onload事件。

  在 jquery 中准备好了

  

  指定在 DOM 完全加载时执行的函数。

  也许你会再想一想,先执行JavaScript再打开页面可以吗?答案是否定的,因为执行完 JavaScript 后,执行结果存储在一个变量中,当打开新页面时,js 变量会被清空。

  有没有办法在页面加载前执行js代码?看来只从网页是没有办法解决的,所以我们需要从浏览器端入手。当输入一个 URL 或点击一个链接时,会导致在另一个页面需要加载之前执行 js 代码(注意页面只是准备加载,而不是一个字符已经下载)。这样做可以让你在页面加载前给某些变量赋值,页面加载后变量值不会消失。

  打开wood浏览器的项目管理窗口,创建脚本代码步骤,输入要执行的JavaScript代码,选择代码执行时间为“页面加载前执行”,保存项目后,只执行项目一次(点击测试也可以),当在浏览器中打开任何 URL 时,首先执行这段 JavaScript 代码。如下图,为了方便具体效果的体验,设置一个弹窗代码在页面加载前执行。

  然后在浏览器中输入网址打开网址,页面加载前会弹出一个窗口。由于是模态弹窗,点击确定后才会继续加载页面内容。页面加载后,js变量值不会丢失。

  如果需要在页面加载前停止执行脚本代码,只需要再添加一个脚本代码步骤,代码为空,并设置执行时间为“停止加载前执行”。此步骤执行一次后,在浏览器中打开网页时不会执行脚本代码弹窗。

  

  在网页加载之前注入和执行JavaScript脚本的作用是什么?可用于更改系统环境参数,如修改屏幕分辨率;执行以下代码后,网页在获取分辨率时会获取预设值而不是实际分辨率。

  screen.width = 1024;屏幕.高度 = 768; screen.availWidth = 1024; screen.availHeight = 768; screen.availablewidth = 1024; screen.availableheight =768;

  您还可以修改系统函数和替换函数函数。例如,如果在页面加载之前执行了以下代码,并且更改了系统的alert函数的功能,那么再次执行页面时不会弹出alert。

  window.alert=function(txt){ 返回 txt;}

  也可以通过JavaScript函数函数采集修改一些网站“浏览器指纹”以避免被网站跟踪。例如,在页面加载前执行如下代码,自动给画布指纹添加变化噪声,导致页面每次获取的“浏览器指纹”不同。

  var injection = function () {const toBlob = HTMLCanvasElement.原型。 toBlob;常量 toDataURL = HTMLCanvasElement。原型。 toDataURL;const getImageData = CanvasRenderingContext2D。原型。 getImageData;//var noisify = function (canvas, context) { if (context) { const shift = { 'r': Math. floor(Math.random() * 10) - 5, 'g': Math.floor(Math.random() * 10) - 5, 'b': Math.floor(Math. random() * 10) - 5, 'a': Math.floor(Math.random() * 10) - 5 }; // const width = canvas.

  宽度;常量高度 = 画布.高度; if (width && height) { const imageData = getImageData.apply(context, [0, 0, width, height]); for (let i = 0; i < height; i++) { for (let j = 0; j < width; j++) { const n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + shift.r; imageData.data[n + 1] = imageData.data[n + 1] + shift.g; imageData .data[n + 2] = imageData.data[n + 2] + shift.b; imageData.data[n + 3] = imageData.data[n + 3] + shift.a; } } // 窗口。

  top.postMessage("canvas-fingerprint-defender-alert", '*'); context.putImageData(imageData, 0, 0); } }};//Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", { "value": function () { noisify(this, this.getContext(" 2d")); return toBlob.apply(this, arguments); }});//Object.defineProperty(HTMLCanvasElement.prototype, "toDataURL", { "value": function () { noisify(this, this.getContext ("2d")); return toDataURL.apply(this, arguments); }});//Object .defineProperty(CanvasRenderingContext2D.

  prototype, "getImageData", { "value": function () { noisify(this.canvas, this);返回获取图像数据。应用(这个,参数); }});/ /文档。文档元素。数据集。 cbscriptallow = true;};inject();

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线