Вам это будет интересно!

  • Два Windows на одном компьютере

  • Усилитель нч на одном транзисторе



  • скучно было вчера, стал искать flashplayer, который якобы воспроизводил alloyrun с adlib'a.
    выпал на сборище, где хранятся различные музоны.
    рука потянулась к телепорту, который скачал index.txt и заткнулся. все, наслаждайся списком.
    уже не первый раз встречался с такой фигней, занялся вопросом утянуть все файлы.
    ковыряться с найденной разработкой не хотелось, в заначке была попытка стащить все файлы с dirty.ru,ей и занялся.
    сразу скажу, что со всеми файловыми манипуляциями просто обломался, поэтому проще оказалось сделать перебор папок и составить список файлов, увидите сами, в каком трэше валятся файлы. поэтому составим список, который обработаем после:

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    set f = fso.createTextFile("00.txt")
    dd=WshShell.CurrentDirectory
    retrieve("http://ftp.amigascne.org/mirrors/ftp.modland.com/pub/modules/Ad%20Lib/")
    wscript.echo "--------------------------------Done!---------------------------------"
    f.close
    wscript.quit

    sub retrieve(ssurl)
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = True
    objIE.Navigate ssurl

    Do Until objIE.ReadyState = 4
    WScript.Sleep 500
    Loop

    Dim Link
    For Each Link In objie.Document.Links
    ss=link.href
    st=link.innerHTML
    if instr(st,"/") then
    retrieve(ss)
    else
    f.writeline ss
    end if
    next
    objIE.Quit
    end sub

    function getname(s)
    t=s
    do while instr(t,"/")>0
    t=mid(t,instr(t,"/")+1)
    loop
    getname=t
    end function

    function deurl(s)
    t=""
    disabled="\>/:<|?*"+chr(34)
    for i=1 to len(s)
    c=mid(s,i,1)
    if instr(disabled,c)>0 then
    c="_"
    end if
    t=t+c
    next
    deurl=t
    end function

    никаких codegems тут нет, отдельные условия воткнуты после изучения хранения. побычный эффект запуска - множественное количество окон IE, которые не закрываются.

    далее - самая сложность в том, что полученный файл не сохраняется абы как, надо было написать код, который обходит по пути, проверяет папки и создаёт не найденные. а потом - тырит)

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    set f = fso.openTextFile("00.txt")
    set g = fso.createTextFile("log_00.txt")
    dd=WshShell.CurrentDirectory
    org="http://ftp.amigascne.org/mirrors/ftp.modland.com/pub/modules/"

    do while not f.AtEndOfStream
    ss=f.readline
    if instr(ss,org)>0 then
    kk=mid(ss,len(org)+1)
    kk=url2txt(kk)
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
    oXMLHTTP.Open "GET", ss, False
    oXMLHTTP.Send
    If oXMLHTTP.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write oXMLHTTP.responseBody
    dd=WshShell.CurrentDirectory
    do while instr(kk,"/")>0
    nn=mid(kk,1,instr(kk,"/"))
    if not fso.FolderExists(nn) then
    fso.CreateFolder(nn)
    end if
    WshShell.CurrentDirectory=nn
    kk=mid(kk,instr(kk,"/")+1)
    kk=clean(kk)
    loop
    g.writeline "writing file:"+kk
    cc=0
    do while fso.FileExists(kk)
    kk=cstr(cc)+kk
    cc=cc+1
    loop
    if len(trim(kk))<>0 then
    oStream.SaveToFile kk
    g.writeline "done w/file:"+kk
    end if
    WshShell.CurrentDirectory=dd
    oStream.Close
    end if

    end if
    loop
    f.close
    g.close
    wscript.quit

    function clean(s)
    t=""
    disabled="\>:<|?*"+chr(34)
    for i=1 to len(s)
    c=mid(s,i,1)
    if instr(disabled,c)>0 then
    c="_"
    end if
    t=t+c
    next
    clean=t
    end function

    function url2txt(ss)
    anychar=1
    percent=2
    firsthex=3
    secondhex=4
    stat=anychar
    st=""

    for ii=1 to len(ss)
    tt=mid(ss,ii,1)
    Select Case stat
    case anychar
    if tt="%" then
    stat=firsthex
    hexdig=0
    else
    st=st+tt
    end if
    case firsthex
    if tt="%" then
    st=st+tt
    stat=anychar
    else
    stat=secondhex
    hexdig=(instr("0123456789abcdef",lcase(tt))-1)*16
    end if
    case secondhex
    stat=anychar
    hexdig=hexdig+instr("0123456789abcdef",lcase(tt))-1
    st=st+chr(hexdig)
    End Select
    next
    url2txt=st
    end function

    Вот и все, скрипт тянет старый файл 00.txt и пишет журнал 00_log.txt для проверки. далее кривая процедура преобразует имена, содержащие %20 в символы.
    Остается запустить скрипт и ждать, как и водится, остается в папках только мусор - индексы в виде HTM.














































































































































    Вам это будет интересно!

  • Два Windows на одном компьютере

  • Усилитель нч на одном транзисторе




  • Последние новости


    Пробковые утеплители

    Одним из высокоэффективных современных утепляющих материалов считаются плиты, изготовленные из измельченной коры пробкового дуба. Среди их главных достоинств следует назвать небольшой вес, твердость, прочность и устойчивость к гниению и образованию плесени при воздействии влаги. Пробковые теплоизолирующие материалы не повреждаются грызунами и не разрушаются...
    Читать далее »

    Приложение

    Утепление окна стекловолокном – обязательное условие, при котором значительно снизятся теплопотери. Теплоизоляция кирпичного дома плитами пенополистирола – надежный способ сделать жилище теплым и комфортным. Как сделать это правильно, показано на рис. 50. ...
    Читать далее »

    Пенополистирольные утеплители

    В последнее время на строительном рынке особенно высоким спросом пользуется теплоизолирующий материал URSA XPS. Его выпускают в форме жестких плит, размер которых составляет 1,25 × 0,6 м. Сырьем для производства данного материала является экструдированный пенополистирол, обладающий структурой с закрытыми ячейками. URSA XPS – это утеплитель, главными свойствами которого являются устойчивость к воздействию влаги и высока...
    Читать далее »

    Торфяные утеплители

    Для повышения теплоизоляционных характеристик ограждающих конструкционных элементов нередко используют торфоизоляционные плиты. Их производят на основе плохо разложившегося торфа, который отличается волокнистой структурой. В процессе обработки сырье формуют и выдерживают в условиях высокой температуры. Плотность торфоизоляционных плит составляет от 170 до 260 кг/м3, а коэффициент теплопроводности равен 0,06 Вт/(м°С)...
    Читать далее »

    Теория теплопередачи - основа строительства

    Современные физики говорят о 3 явлениях, выражающих теплопередачу, – теплопроводности, излучении и конвекции. Каждое из них обладает собственными характеристиками. Так, при определении свойств однородных твердых тел говорят о теплопроводности. Ее суть заключается в способности одного объекта передавать тепло другому при соприкосновении либо посредством промежуточного проводника (рис. 3). ...
    Читать далее »

    Древесно-стружечные теплоизолирующие материалы

    Одним из наиболее распространенных в настоящее время древесно стружечных утеплителей является фибролит. Его получают путем смешивания древесной стружки, портландцемента и воды. Древесная стружка, или древесная шерсть, при этом должна состоять из лент длиной не менее 50 см. В некоторых случаях портландцемент нередко заменяют магнезиальным вяжущим компонентом. Перед технологической обработкой древесную стружку, вы...
    Читать далее »

    Стеклянные утепляющие материалы

    Технология изготовления стекловаты во многом сходна с методом производства минеральной ваты. В качестве основного сырья выступают мел либо известняк, кварцевый песок и сульфат натрия либо сода. Кроме того, для получения этого утеплителя могут использоваться и остаточные продукты стекольной промышленности. Стеклянная вата состоит из тончайших волокон, которые получают путем вытягивания из предварительно расплавле...
    Читать далее »