阅读:4235回复:10
抓取网页中的文字的插件
想找一个随意抓取网页中的文字,并自动另存为txt文件的插件
请朋友们告知 谢谢 |
|
1楼#
发布于:2008-10-25 21:04
用Easy Drag To Go
在地址栏输入about:config,新建一个值extensions.easydragtogo.custom.saveTextAs,内容输入以下代码 if(target == "text" && url){var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker); fp.init(window, null, fp.modeSave); fp.defaultExtension = "txt"; fp.defaultString = url.substr(0, 20).replace(/[\\\/\*\|\?\n:"<>]/g, "-") + ".txt"; fp.appendFilters(fp.filterText); fp.appendFilters(fp.filterAll); if(fp.show() != fp.returnCancel){var conv = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter); conv.charset = 'UTF-8'; var text = conv.ConvertFromUnicode(url).replace(/\n/g, "\r\n"); var stream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); stream.init(fp.file, 0x02|0x20|0x08, 0666, 0); stream.write("\u00EF\u00BB\u00BF",3); stream.write(text, text.length); var fin = conv.Finish(); if(fin.length > 0) stream.write(fin, fin.length); stream.close();}} 然后进入easy drag to go的选项,将某个文本拖拽的动作定义为custom:saveTextAs |
|
2楼#
发布于:2008-10-25 21:04
drag de go好像也可以
|
|
3楼#
发布于:2008-10-25 21:04
楼上的朋友太强了
谢谢 |
|
4楼#
发布于:2008-10-25 21:04
事实上那是Easy Drag To Go官方给出的自定义代码的例子^_^
|
|
5楼#
发布于:2008-10-25 21:04
嗯,web狼很厉害的说~
|
|
6楼#
发布于:2008-10-25 21:04
这段代码要怎样修改,才可以应用到keyconfig中?另外生成的txt文件位置是在哪里?
|
|
7楼#
发布于:2008-10-25 21:04
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker); fp.init(window, null, fp.modeSave); fp.defaultExtension = "txt"; var url=document.commandDispatcher.focusedWindow.getSelection().toString(); fp.defaultString = url.substr(0, 20).replace(/[\\\/\*\|\?\n:"<>]/g, "-") + ".txt"; fp.appendFilters(fp.filterText); fp.appendFilters(fp.filterAll); if(fp.show() != fp.returnCancel) { var conv = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter); conv.charset = 'UTF-8'; var text = conv.ConvertFromUnicode(url).replace(/\n/g, "\r\n"); var stream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); stream.init(fp.file, 0x02|0x20|0x08, 0666, 0); stream.write("\u00EF\u00BB\u00BF",3); stream.write(text, text.length); var fin = conv.Finish(); if(fin.length > 0) stream.write(fin, fin.length); stream.close(); } 改成这样就可以了 |
|
8楼#
发布于:2008-10-25 21:04
楼上的代码贴入keyconfig再重启,试验了一下没有用嘛。
|
|
9楼#
发布于:2008-10-25 21:04
我这儿工作挺正常的,呵呵,实际上只加了一句
var url=document.commandDispatcher.focusedWindow.getSelection().toString(); |
|
10楼#
发布于:2008-10-25 21:04
嘿,我这里怎么不行。怒了
|
|