[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 44# qixiaobin0715
把漏提的发上来 看看什么问题

TOP

回复 46# terse

未能提取的是一些不存在释义常用度分布图的单词,我还是需要提取释义和例句。如:
  1. do
  2. one
  3. order
  4. mine
  5. communicate
  6. guarantee
  7. operator
复制代码

TOP

回复 47# qixiaobin0715
将25行 改为下面的试
  1. var ul = getByClass("div","basic clearfix");
复制代码

TOP

修正一下
  1. @set @i=0 /* & @echo off & cscript.exe -NoLogo -E:JScript %0 <单词列表.txt >结果.txt& pause & exit */
  2. var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  3. function GetContent(url) {
  4.         xmlhttp.open("GET", url ,false);
  5.         xmlhttp.send();
  6.         return(xmlhttp.responseText);
  7. }
  8. function getByClass(tag,Classname){
  9.         if(html.getElementsByClassName){
  10.                 return html.getElementsByClassName(Classname);
  11.         }
  12.         var tags = html.getElementsByTagName(tag);
  13.         for(var i = 0,len = tags.length; i < len; i++){
  14.                 if( tags[i].className ==Classname){
  15.                          return(tags[i]);
  16.                 }
  17.         }
  18. }
  19. while (!WSH.StdIn.AtEndOfStream) {
  20.         var s = WSH.StdIn.ReadLine();
  21.         var str = s;
  22.         var url = "http://dict.cn/" + str;
  23.         var html = new ActiveXObject("htmlfile");
  24.         html.write(GetContent(url));
  25.         try {
  26.                 var ul = getByClass("div","basic clearfix");
  27.                 str += "\t" + ul.innerText.replace(/[\r\n]/gm,'') + "。\t";
  28.                 if (html.getElementById("dict-chart-basic")) {
  29.                         var obj = new Function("return" + unescape(html.getElementById("dict-chart-basic").data))();
  30.                         for(var key in obj ) { str += obj[key].percent > 5 ? obj[key].sense + ":"+ obj[key].percent + "%, " : ""};
  31.                 }
  32.                 var div = getByClass("div","layout sort");
  33.                 if (div) {
  34.                         str+= '\t'
  35.                         var b = div.getElementsByTagName("b");
  36.                         var ol = div.getElementsByTagName("ol");
  37.                         for (var i=0; i<ol.length; i++) {
  38.                                 var s =b[i];
  39.                                 if (s) { str+= s.innerText + '<br>' };
  40.                                 var li= ol[i].getElementsByTagName("li");
  41.                                 for (var j=0, len = li.length; j<len; j++) {
  42.                                         if (j < 2) {str+= j+1 + '. ' + li[j].innerText + '<br>' };
  43.                                 }
  44.                         }
  45.                 }
  46.        }
  47.         catch (e) {str += "\t" + "错误"};
  48.         WSH.Echo(str.replace(/\r?\n/g,'<br>'));
  49. }
复制代码

TOP

回复 45# qixiaobin0715


    先前我对制表符理解有误,是需要4列数据吧?已修改。
微信:flashercs
QQ:49908356

TOP

两位大神给出的代码提取结果均符合我期望的结果。谢谢!!!

TOP

返回列表