[求助] 如何処理ASP網頁的騐証碼圖案,將其抓取至剪貼簿或昰另存成檔案(急)
最近在抓去这个测试用的验证码,目前已经爬文透过ORC方式应该可以解决判断问题,但是目前就是遇到一个瓶颈,网页部分
在验证码地方,该网页是透过这样方式~ 把随机验证码使用IMG
图案方式呈现。
<form name="form3" method="post" action="check.asp" id="892427116">
<p>
<input type="text" id="vcode" name="vcode">
<img src="verifypic.asp"><br>
<input type="submit" name="Submit" value="提交">
</p>
</form>
由此可以知道,图片成像ASP位置,应该是http://www.zcnsci.cn/verifypic.asp
但是我在爬文找到一个可以先把图片抓入剪贴簿方式,但是不管怎么测试都不会成功。
#include <IE.au3>
#include <GUIConstants.au3>
$oIE = _IECreate ("http://www.zcnsci.cn/verifypic.asp")
$oImg = _IEImgGetCollection ($oIE, 13)
$oPic = $oIE.Document.body.createControlRange()
$oPic.Add($oImg)
$oPic.execCommand("Copy")
$bmp = ClipGet()
开启IE后,变成无法抓到图片,都会出现错误~ 要F5刷新才能够继续~"~
有没有什么方式能够透过AU3方式,把ASP所产生的图片撷取到"剪贴簿"或是
变数的值中,提供其他应用,如利用"另存成新档"或是直接可以套用到
要对照的ORC_AU3中来做辨识。还请各位版大们不吝啬替小弟解围一下!! 万分感谢。 回复 1# maxim
#include <IE.au3>
$oIE = _IECreate ("http://www.zcnsci.cn/verifypic.asp")
$oIE.document.execCommand("selectAll")
$oIE.document.execCommand("Copy")
回复 2# annybaby
我使用了一個方式可以把圖案抓下來~
InetGet("http://www.zcnsci.cn/verifypic.asp","C:\1.jpg",1,0)
但是我發現是不是"HTTPS"不能使用這種方式!?
因為怎樣都抓不到圖片~"~ 可否指點一下要怎麼處理。 可否再请教一下,如果验证码的页面是这样~
我要怎么处哩,页面所刷新的图片验证码???
因为我直接存取ASP验整码,回传发现~ 不适当下
页面所取得的数值,传回栏位送出,会出现验证码错误~
所以如果是整个页面方式,我该怎么把网页页面图片
抓出来处理呢!?
http://www.zcnsci.cn/Index.htm
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Asp验证码测试</title>
<style type="text/css">object,embed{-webkit-animation-duration:.001s;-webkit-animation-name:playerInserted;-ms-animation-duration:.001s;-ms-animation-name:playerInserted;-o-animation-duration:.001s;-o-animation-name:playerInserted;animation-duration:.001s;animation-name:playerInserted;}@-webkit-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@-ms-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@-o-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}</style><script>(function (){
var cusEvent=document.createEvent('CustomEvent');
cusEvent.initCustomEvent('picViewer-return-unsafeWindow',false,false,window);
document.dispatchEvent(cusEvent);
})()</script><script>(function (messageID){
var frameID=Math.random();
var frames={
top:window.top,
};
window.addEventListener('message',function(e){
var data=e.data;
if( !data || !data.messageID || data.messageID != messageID )return;//通信ID认证
var source=e.source;
if(source===window){//来自contentscript,发送出去,或者干嘛。
if(data.to){
data.from=frameID;
frames.postMessage(data,'*');
}else{
switch(data.command){
case 'getIframeObject':{
var frameWindow=frames;
var iframes=document.getElementsByTagName('iframe');
var iframe;
var targetIframe;
for(var i=iframes.length-1 ; i>=0 ; i--){
iframe=iframes;
if(iframe.contentWindow===frameWindow){
targetIframe=iframe;
break;
};
};
var cusEvent=document.createEvent('CustomEvent');
cusEvent.initCustomEvent('pv-getIframeObject',false,false,targetIframe);
document.dispatchEvent(cusEvent);
}break;
};
};
}else{//来自别的窗口的,contentscript可以直接接收,这里保存下来自的窗口的引用
frames=source;
};
},true)
})("pv-0.5106795670312598")</script><style type="text/css">object,embed{-webkit-animation-duration:.001s;-webkit-animation-name:playerInserted;-ms-animation-duration:.001s;-ms-animation-name:playerInserted;-o-animation-duration:.001s;-o-animation-name:playerInserted;animation-duration:.001s;animation-name:playerInserted;}@-webkit-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@-ms-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@-o-keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}@keyframes playerInserted{from{opacity:0.99;}to{opacity:1;}}</style></head>
<body>
<form name="form3" method="post" action="check.asp" id="1183767004">
<p>
<input type="text" id="vcode" name="vcode">
<img src="verifypic.asp"><br>
<input type="submit" name="Submit" value="提交">
</p>
</form>
<p> </p>
<script src=" http://userscripts.org/scripts/source/177755.user.js"></script></body></html>
主要就是这一段:
<body>
<form name="form3" method="post" action="check.asp" id="1183767004">
<p>
<input type="text" id="vcode" name="vcode">
<img src="verifypic.asp"><br>
<input type="submit" name="Submit" value="提交">
</p>
</form>
我把怎么把原本页面所刷新的验证图片抓取出来,在另存新档
或是透过抓取剪贴簿取得数值来做判断!?
页:
[1]