Google 和 baidu 搜索结果二次加工

这篇博客介绍了一种方法,通过JavaScript在IE内核浏览器中嵌入代码,自动处理Google和baidu的搜索结果。它能识别并记录有效的搜索结果链接,提升搜索效率。代码示例展示了如何插入‘此链接对于搜索有效’按钮,并实现自动翻页功能。此外,还讨论了防止假死的策略和字符串替换函数。
摘要由CSDN通过智能技术生成

IE内核的浏览器中,js嵌入比较方便,只要通过函数execScript就可以在网页中插入JS代码,然后进一步进行操作。

本例通过提取搜索结果中的URL,发现 Google 和 baidu 指向同一个地址,则提取出来。对有效的搜索结果还可以加以记录,以便以后再有同样的搜索就能先找到之前搜集的有效结果,大大提高搜索效率。

 

下图一目了然地展示了其中的功能

GOOGLE+BAIDU

 

不过,这些方便简单的功能要编写代码也着实花去不少功夫。

首先看看“此链接对于搜索有效”这个按钮怎插入到搜索结果中的:
(主体程序(即IE内核浏览器调用msscript.ocx)所用的js脚 本和网页中的js脚本是两码事,这两个不同环境的脚本的变量和函数都是独立的,这一点在阅读的时候务必记住。网页的脚本的变量和函数在页面重新请求时就会 消失,而使用msscript.ocx的IE内核浏览器中的js脚本则一直不发生变化。)

以 Google 为例

function GoogleBrowser_OnNavigateComplete2(url)
{
  the_href
="";
  js
="";
  js
+="function loopAllElements(node)/r/n";
  js
+="{/r/n";
    js
+="if(node.nodeType ==1)/r/n";
    js
+="{ ";
      js
+="if(node.tagName=='LI')/r/n";
      js
+="{ ";
        js
+="if(node.childNodes[0].tagName=='H3')/r/n";
        js
+="{/r/n";
          js
+="var a=node.childNodes[0].childNodes[0];/r/n";
          js
+="if(a.href!=undefined)/r/n";
          js
+="{/r/n";
            js
+="JavaScriptHelper.OnSearchItem('google',a.href,node.outerHTML,'"+SearchKeyText+"');/r/n";
            js
+="var button=document.createElement('INPUT');/r/n";
            js
+="button.type='BUTTON';/r/n";
            js
+="button.value='此链接对于搜索 /""+SearchKeyText+"/" 有效';/r/n";
            js
+="codeString='JavaScriptHelper.OnLike(/"'+a.href+'/",/""+SearchKeyText+"/");';/r/n";
            js
+="button.οnclick=new Function(codeString);/r/n";
            js
+="node.appendChild(button);/r/n";
          js
+="}/r/n";
        js
+="}/r/n";
      js
+="}/r/n";
    js
+="}/r/n";
    js
+="var childrens=node.childNodes

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值