Что нового

Мультитзагрузка несколько файлов одинакового формата с сайта

warwar52

Новичок
Сообщения
13
Репутация
0
Здравствуйте! Я пытаюсь выкачать несколько файлов fb2 с сайта. В примерном сайте на одной странице всего один такой файл. Вот сайт:https://knigolub.net/fighting-fantasy/5569-ink.html
И мне нужно скачать файл fb2 в папку.
Вот код:
Код:
Run("C:\Program Files\Mozilla Firefox\FIREFOX.EXE - new https://knigolub.net/fighting-fantasy/5569-ink.html", "")
$html = InetRead("https://knigolub.net/fighting-fantasy/5569-ink.html", 1) ;читаем исходный код страницы
$html = BinaryToString($html, 4)
;ConsoleWrite($html)
$fblinks = StringRegExp($html, "href=(.*fb2.*.)>fb2<", 3) ;находим все линки на FB2
If IsArray($fblinks) Then
    For $i In $fblinks
        ConsoleWrite($i & @CRLF)
        $filename = StringSplit($i, "/")
        $filename = $filename[UBound($filename)-1]
        $filename = StringReplace($filename, "%5", "")
        $filename = StringReplace($filename, "'", "") ;создаем название файлу
        ConsoleWrite($filename)
        $link = StringReplace($i, "'", "")
        InetGet($link, "C:\Test" & $filename, 1) ;качаем файл
    Next
EndIf
;~ https://knigolub.net/uploads/book/Ink_-_Ol'gha_Barbaniel'.fb2

Он только открывает сайт, но не выкачивает. Что не так? Помогите, пожалуйста! Спасибо!
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Изменил регулярку и поправил пару строк, проверил - у меня качает.
Код:
;Run("C:\Program Files (x86)\Mozilla Firefox\FIREFOX.EXE - new https://knigolub.net/fighting-fantasy/5569-ink.html", "")
$html = InetRead("https://knigolub.net/fighting-fantasy/5569-ink.html", 1) ;читаем исходный код страницы
$html = BinaryToString($html, 4)
;ConsoleWrite($html)
$fblinks = StringRegExp($html, '(?:href=")(.*fb2)(?:")', 3) ;находим все линки на FB2
If IsArray($fblinks) Then
    For $i In $fblinks
        $filename =StringRegExpReplace($i, '(.*/)', '') ;создаем название файлу
        ConsoleWrite($filename& @CRLF)
        $hDownload=InetGet($i, "C:\Test\"&$filename, 1) ;качаем файл
		InetClose($hDownload)
    Next
EndIf
 
Верх