本应该发ajax版块的,发这里因为这里高手多,人气比较旺

解决方案 »

  1.   

    建议。只抓取 mp3 歌名。然后。再写一个由歌名取得MP3地址的文件。这样。你生成的链接为 getmp3.php?name=Mp3歌名 这样化解单个文件的N次循环。
      

  2.   

    to mrshelly(Shelly)建议不错,可那样不是要写两个文件了,不够痛快能不能在现有基础上优化代码。。
    其实慢一点都可以忍受,毕竟50个文件要一个一个的去找,要时间。大家应该可以理解
    可不能让ie假死啊,这就看着不爽了
      

  3.   

    晕,程序都没有优化好,没人帮忙改进,指正缺点吗love01px(JAVA CUP)  跨域是必然的,因为我们要抓的是baidu.com上面的东东。我目前还没有办法把我写的这个文件 放到 baidu.com上面去 :(
      

  4.   

    应该没有办法,只能优化一下函数Public Function BytesToString(ByVal Bytes)
    Dim i
    Dim bl
    Dim tp
    bl = UBound(Bytes) + 1 '因为rseponseBody返回的类型是SafeArray,即vbArray + vbByte,所以可以用UBound() + 1来获取长度,UBound比LenB快,测试百度mp3的responseBody,10000次LenB耗时125毫秒,而10000次UBound是0毫秒
    tp = ""
    For i = 1 To bl '为什么要把长度作为变量,应该非常清楚,长度越长,原函数里的For i = 1 To LenB(vIn)中LenB()就越占用内存,做为变量是很必要的,不用每个循环都要LenB()一次
    Dim hByte
    Dim lByte
    lByte = AscB(MidB(Bytes, i, 1))
    If lByte < 128 Then
    tp = tp & Chr(lByte)
    Else
    i = i + 1
    hByte = AscB(MidB(Bytes, i, 1))
    tp = tp & Chr((lByte * (2 ^ 8)) Or hByte) '这个变化没其他意义,就是低字节左移8位逻辑或高字节可以获得高低字节值,是否比原函数的快,就没测过了
    End If
    Next
    BytesToString = tp
    End Function
      

  5.   

    能不能做一个div进度条,程序查找的时候让div 显示出来.
    学习
      

  6.   

    楼上,,我发过一个优化过的了http://community.csdn.net/Expert/topic/4751/4751359.xml?temp=.5510218比现在这个要快百倍啊。改天再发一个Python版本的来
      

  7.   

    改良 不要用字符串,用數組.
    具體的上次,可以看梅花樹的測試 數組與字符串,速度太多了.
    Function bytes2BSTR(vIn)
        Dim strReturn()
    j=LenB(vIn)
    ReDim strReturn(j+1)
        For i = 1 To j
    ThisCharCode = AscB(MidB(vIn,i,1))
            If ThisCharCode < &H80 Then
                strReturn(i) = Chr(ThisCharCode)
            Else
    NextCharCode = AscB(MidB(vIn,i+1,1))
                strReturn(i) = Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
                i = i + 1
            End If
        Next
        bytes2BSTR = Join(strReturn,"")
    End Function
      

  8.   

    1,提高Msxml2.XMLHTTP版本
    2,bytes2BSTR用ADODB.Stream
    3,怕假死可以用参数如1.html?page=1