<title>超级大笨狼制作,CSDN发图工具</title>
<style>span{border:1px solid #eeeeee}img{width:80px;}textArea{width:100%;height:300;}span{width:100px;}</style>
<body>主题:<input id="searchWord" />
显示页数:
<select id="pn">
<option value=1 SELECTED=true>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
</select>
<button onclick="httpGetHTML();">搜索百度图片</button>
<button onclick="getAll(true);">全选</button>
<button onclick="getAll(false);">全不选</button>
<button onclick="getReverse();">反选</button>
<button onclick="getCSDN();">确定生成CSDN图片标签</button>
<div id="wait" style="display:none;">请等待</div>
<div id="dullwolf" ></div>
<textArea id="CSDNText"></textArea>
</body>
<script language="vbscript">
Function bytes2BSTR(vIn)
    Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function
</script>
 
<script language="javascript">
function getAll( bool){
var inputs=document.getElementsByTagName("INPUT");
for(i=0;i<inputs.length;i++)
{
 if(inputs[i].type=="checkbox" )
 {
 inputs[i].checked=bool;  
 }
}
}
function getReverse( ){
var inputs=document.getElementsByTagName("INPUT");
for(i=0;i<inputs.length;i++)
{
 if(inputs[i].type=="checkbox" )
 {
 inputs[i].checked=(!inputs[i].checked);  
 }
}

function getCSDN()

var CSDN=document.getElementById("CSDNText");
CSDN.value="";
var inputs=document.getElementsByTagName("INPUT");
for(i=0;i<inputs.length;i++)
{
 if(inputs[i].type=="checkbox" )
 {
if(inputs[i].checked)
{
CSDN.value+="\n";
}
 }
}
}
 
function httpGetHTML()

document.getElementById("wait").style.display="block";
document.getElementById("dullwolf").innerHTML="";
var maxPage=parseInt(document.getElementById("pn").value);

for(p=0;p<maxPage;p++)
{
var url="http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&pv=&word=" + document.getElementById("searchWord").value +"&z=2&rn=21&pn=" + (p* 18)+"&ln=375";
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // 异步调用 
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4) // 调用完毕
{
if (xmlhttp.status == 200) // 加载成功
{
var HTML=bytes2BSTR(xmlhttp.responseBody);
if(HTML.indexOf("没有找到")>0)
{
return;
}
var re=/&u=http:\/\/[^<]*.jpg/ig;
var arr=HTML.match(re);   
for(i=0;i<arr.length;i++)
{
var img=arr[i].replace("&u=","");
document.getElementById("dullwolf").insertAdjacentHTML("beforeEnd","<span><img src='" + img + "'/><input type='checkbox' title='" + img + "'/><span>");  
 }
}
}
}
 
xmlhttp.open("get", url, true);
xmlhttp.send();
}
document.getElementById("wait").style.display="none"; 
}
 
</script>

解决方案 »

  1.   

    更多有用的脚本 :http://www.scriptlover.com
      

  2.   

    不错,以前也做过类似采集SOSO和BAIDU音乐和歌词信息的东西,但bytes2BSTR转码效率太低,如果信息量大的话很卡
      

  3.   

    <title>超级大笨狼制作,CSDN发图工具</title>
    <style>span{border:1px solid #eeeeee}img{width:80px;}textArea{width:100%;height:300;}span{width:100px;}</style>
    <body>主题:<input id="searchWord" />
    显示页数:
    <select id="pn">
    <option value=1 SELECTED=true>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select>
    <button onclick="httpGetHTML();">搜索百度图片</button>
    <button onclick="getAll(true);">全选</button>
    <button onclick="getAll(false);">全不选</button>
    <button onclick="getReverse();">反选</button>
    <button onclick="getCSDN();">确定生成CSDN图片标签</button>
    <div id="wait" style="display:none;">请等待</div>
    <div id="dullwolf" ></div>
    <textArea id="CSDNText"></textArea>
    </body>
    <script language="vbscript">
    Function bytes2BSTR(vIn)
        Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
     
    <script language="javascript">
    function getAll( bool){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=bool;             
             }
        }
    }
    function getReverse( ){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=(!inputs[i].checked);             
             }
        }

    function getCSDN()

        var CSDN=document.getElementById("CSDNText");
        CSDN.value="";
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                if(inputs[i].checked)
                {
                    CSDN.value+="\n";    
                }
             }
        }    
    }
     
    function httpGetHTML()
    {     
        document.getElementById("wait").style.display="block";
        document.getElementById("dullwolf").innerHTML="";
        var maxPage=parseInt(document.getElementById("pn").value);    
        
        for(p=0;p<maxPage;p++)
        {
            var url="http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&pv=&word=" + document.getElementById("searchWord").value +"&z=2&rn=21&pn=" + (p* 18)+"&ln=375";
            var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");        // 异步调用 
            xmlhttp.onreadystatechange = function()
            {
                if (xmlhttp.readyState == 4)    // 调用完毕
                {
                    if (xmlhttp.status == 200)    // 加载成功
                    {
                        var HTML=bytes2BSTR(xmlhttp.responseBody);
                        if(HTML.indexOf("没有找到")>0)
                        {
                            return;
                        }
                        var re=/&u=http:\/\/[^<]*.jpg/ig;
                        var arr=HTML.match(re);                  
                        for(i=0;i<arr.length;i++)
                        {    
                            var img=arr[i].replace("&u=","");
                            document.getElementById("dullwolf").insertAdjacentHTML("beforeEnd","<span><img src='" + img + "'/><input type='checkbox' title='" + img + "'/><span>");                     
                         }
                    }
                }
            }        
         
            xmlhttp.open("get", url, true);
            xmlhttp.send();
        }
        document.getElementById("wait").style.display="none"; 
    }
     
    </script>
      

  4.   

    改了一下(非正则)^_^<style>span{width:120px;border:1px solid #eeeeee;padding: 3px;margin:5px;font-size:12px;}img{width:80px;}textArea{width:100%;height:200px;}
    #dullwolf{font-size:12px;color:red}
    </style>
    <body>关键词:<input id="searchWord" />
    显示页数:
    <select id="pn">
    <option value=1 SELECTED=true>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select>
    <button onclick="httpGetHTML('g');">google图片</button>
    <button onclick="httpGetHTML('b');">搜索百度图片</button><br>
    <button onclick="getAll(true);">全选</button>
    <button onclick="getAll(false);">全不选</button>
    <button onclick="getReverse();">反选</button>
    <button onclick="getCSDN();">生成UUB图片标签</button>
    <div id="dullwolf" ></div>
    <textArea id="CSDNText"></textArea>
    </body>
    <script language="vbscript">
    Function bytes2BSTR(vIn)
        Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
     
    <script language="javascript">
    function getAll( bool){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=bool;             
             }
        }
    }
    function getReverse( ){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=(!inputs[i].checked);             
             }
        }

    function getCSDN(){ 
        var CSDN=document.getElementById("CSDNText");
        CSDN.value="";
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++){
             if(inputs[i].type=="checkbox" ){
                if(inputs[i].checked){
                    CSDN.value+="\n";    
                }
             }
        }    
    }
     
    function chaIMg(imgUrlArr,imgSizeArr,imgTypeArr){
    for (var i=0;i<imgUrlArr.length;i++){
    var img=new Image()
    img.src=imgUrlArr[i]
    if (!img||!img.width||!img.height){
    imgUrlArr[i]=""
    imgSizeArr[i]=""
    if (imgTypeArr)imgTypeArr[i]=""
    }
    }
    if (!imgTypeArr)var imgTypeArr=""
    return [imgUrlArr,imgSizeArr,imgTypeArr]
    }function httpGetHTML(n){     
        document.getElementById("dullwolf").innerHTML="<p>请等待如果没有反映,可能是线路阻塞,请再次点击!";
    document.getElementById("CSDNText").value="";
        var maxPage=parseInt(document.getElementById("pn").value);    
        for(p=0;p<maxPage;p++){ if (n=="g")//google
        var url="http://images.google.cn/images?hl=zh-CN&q=" + document.getElementById("searchWord").value +"&btnG=Search+Images&gbv=2&aq=x&oq=";
    else //baibu
        var url="http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&pv=&word=" + document.getElementById("searchWord").value +"&z=2&rn=21&pn=" + (p* 18)+"&ln=375";
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");        // 异步调用 
        xmlhttp.onreadystatechange = function(){
            if (xmlhttp.readyState == 4){    // 调用完毕
                if (xmlhttp.status == 200) {    // 加载成功
                    var HTML=bytes2BSTR(xmlhttp.responseBody);
                    if(HTML.indexOf("没有找到")>0){document.getElementById("dullwolf").innerHTML="<p>抱歉没有找到:"+document.getElementById("searchWord").value+"对应图片"; return;} if (n=="g"){//google
    var arrS=HTML.indexOf("dyn.Img")
    var arrE=HTML.indexOf("dyn.updateStatus")
    var arrT=HTML.substring(arrS,arrE)
    var arr=arrT.split("dyn");
    var arrS=[]
    var arrT=[]
    for (var i=1;i<arr.length;i++){
                         arr[i]=arr[i].toLowerCase( )
                         arr[i]=arr[i].substr(arr[i].indexOf('target=_blank')+34)
                         var t=arr[i].split(",")
                        arrS[i]=t[6].substring(1,t[6].length-1)
                        arrT[i]=t[7].substring(1,t[7].length-1)
                        arr[i]=t[0].substring(0,t[0].length-1)
                        }
                        var tmp=chaIMg(arr,arrS,arrT)
                        document.getElementById("dullwolf").innerHTML="";
                            for(i=1;i<tmp[0].length;i++) {    
                            if (tmp[0][i]!="")
                            document.getElementById("dullwolf").insertAdjacentHTML("beforeEnd","<span><img src='" + tmp[0][i] + "'/><br><input type='checkbox' title='" + tmp[0][i] + "'/>"+tmp[1][i]+"("+tmp[2][i]+")</span>");                     
                         }
                    }                if (n=="b"){//baibu
    var arrS=HTML.indexOf('id="imgid"')
    var arrE=HTML.indexOf('id="lastPage"')
    var arrT=HTML.substring(arrS+12,arrE-3)

    var arr=arrT.split("size=1");
    var arrI=[],arrP=[],k=0
    for (var i=1;i<arr.length;i++){
                         arr[i]=arr[i].toLowerCase( )
                        if (arr[i].indexOf('&u=http://')){
                         arrI[k]=arr[i].substring(1,arr[i].indexOf('font')-2)//200x150 6k jpg
                         var arrD=arrI[k].substring(arrI[k].length-3,arrI[k].length)//jpg
                         arr[i]=arr[i].substring(arr[i].indexOf('href')+10,arr[i].indexOf("onclick")+2)
                         var D=arr[i].indexOf(arrD)+3
                         arrP[k]=arr[i].substring(arr[i].indexOf('http'),D);
                         k++
                        }
                        }
                        var tmp=chaIMg(arrP,arrI)
                        document.getElementById("dullwolf").innerHTML="";
                        for(i=1;i<tmp[0].length;i++) {    
                            if (tmp[0][i]!="")
                            document.getElementById("dullwolf").insertAdjacentHTML("beforeEnd","<span><img src='" + tmp[0][i] + "'/><br><input type='checkbox' title='" + tmp[0][i] + "'/>"+tmp[1][i]+"</span>");                     
                         }
                    }
                    }
                }
            } 
            var d=new Date().getTime()
            xmlhttp.open("get", url+"&caiying2009="+d, true);
            xmlhttp.send();
        }
    }
     
    </script>
      

  5.   

    IE6 不能用, IE7 要改设置   FF 上没有效果。    那位出来介绍一下, 怎么弄呀!
      

  6.   

     代码另存为*.hta,双击运行即可。
    mshta.exe是执行这个文件格式的东东。
      

  7.   


    <title>发图</title>
    <style>span{border:1px solid #eeeeee}img{width:80px;}textArea{width:100%;height:300;}span{width:100px;}</style>
    <body>主题:<input id="searchWord" />
    显示页数:
    <select id="pn">
    <option value=1 SELECTED=true>1</option>
    <option value=2>2</option>
    <option value=3>3</option>
    <option value=4>4</option>
    <option value=5>5</option>
    </select>
    <button onclick="httpGetHTML();">搜索百度图片</button>
    <button onclick="getAll(true);">全选</button>
    <button onclick="getAll(false);">全不选</button>
    <button onclick="getReverse();">反选</button>
    <button onclick="getCSDN();">确定生成CSDN图片标签</button>
    <div id="wait" style="display:none;">请等待</div>
    <div id="dullwolf" ></div>
    <textArea id="CSDNText"></textArea>
    </body>
    <script language="vbscript">
    Function bytes2BSTR(vIn)
        Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
        strReturn = ""
        For i = 1 To LenB(vIn)
            ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn = strReturn & Chr(ThisCharCode)
            Else
                NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = strReturn
    End Function
    </script>
     
    <script language="javascript">
    function getAll( bool){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=bool;             
             }
        }
    }
    function getReverse( ){
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                 inputs[i].checked=(!inputs[i].checked);             
             }
        }

    function getCSDN()

        var CSDN=document.getElementById("CSDNText");
        CSDN.value="";
        var inputs=document.getElementsByTagName("INPUT");
        for(i=0;i<inputs.length;i++)
        {
             if(inputs[i].type=="checkbox" )
             {
                if(inputs[i].checked)
                {
                    CSDN.value+="\n";    
                }
             }
        }    
    }
     
    function httpGetHTML()
    {     
        document.getElementById("wait").style.display="block";
        document.getElementById("dullwolf").innerHTML="";
        var maxPage=parseInt(document.getElementById("pn").value);    
        
        for(p=0;p<maxPage;p++)
        {
            var url="http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&pv=&word=" + document.getElementById("searchWord").value +"&z=2&rn=21&pn=" + (p* 18)+"&ln=375";
            var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");        // 异步调用 
            xmlhttp.onreadystatechange = function()
            {
                if (xmlhttp.readyState == 4)    // 调用完毕
                {
                    if (xmlhttp.status == 200)    // 加载成功
                    {
                        var HTML=bytes2BSTR(xmlhttp.responseBody);
                        if(HTML.indexOf("没有找到")>0)
                        {
                            return;
                        }
                        var re=/&u=http:\/\/[^<]*.jpg/ig;
                        var arr=HTML.match(re);                  
                        for(i=0;i<arr.length;i++)
                        {    
                            var img=arr[i].replace("&u=","");
                            document.getElementById("dullwolf").insertAdjacentHTML("beforeEnd","<span><img src='" + img + "'/><input type='checkbox' title='" + img + "'/><span>");                     
                         }
                    }
                }
            }        
         
            xmlhttp.open("get", url, true);
            xmlhttp.send();
        }
        document.getElementById("wait").style.display="none"; 
    }
     
    </script>