Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как скачать картинку из URL

Страниц (2): « 1 [2]
 

11. Budni - 01 Октября, 2019 - 11:06:06 - перейти к сообщению
Dantes3000 , Проблема в том, что при повторном использовании кода файл будет дополняться, а не перезаписываться...
(Добавление)
Да что не так? Почему копирует в буфер лишь последнее имя картинки?

CODE:
string s;
readclipboard (s);

string rn=formatic(13)+formatic(10);

string path="C:\new"; // куда скачать файлы


messagebox(s);

int count_file=download(s, path); // вызов функции, которая скачает найдёт ссылки и скачает файлы
messagebox("Скачено файлов: "+format(count_file));

function download(string s, string path_save)
{
char text[9999999];
string link[99], name_file[9999], domain, body;
int count_download_file=0;
regexreplace(1, #path_save, path_save, "(.+?)\\*$", "$1\");

int count_link=regexsearch(sizearray(link), #link[0], s, "https?:\/\/[^\r\n]+", MULTILINE);
if(count_link)
{
for(int i=0; i<count_link; i++)
{
if(regexsearch(1, #domain, link[i], "https?:\/\/[^\/]+"))
{
if(regexreplace(1, #body, link[i], "https?:\/\/[^\/]+\/(.+)", "$1"))
{
if(regexsearch(1, #name_file[i], body, "[^\/]+$"))
{
int count_byte=sendgetweb(#text[0], "Mozilla", "GET", domain, body);
if(count_byte>0)
{
if(fopen(path_save+name_file[i], "wb"))
{
fwriteb(#text[0], count_byte);
fclose();
count_download_file++;


string si="";
for(int i1=0; i1<count_link; i1++)si=si+name_file[i]+formatic(13)+formatic(10);
writeclipboard (si);


}
}
}
}
}
}
}
return count_download_file;
}

(Добавление)
Да что не так? Почему копирует в буфер лишь последнее имя картинки?

CODE:
string s;
readclipboard (s);

string rn=formatic(13)+formatic(10);

string path="C:\new"; // куда скачать файлы


messagebox(s);

int count_file=download(s, path); // вызов функции, которая скачает найдёт ссылки и скачает файлы
messagebox("Скачено файлов: "+format(count_file));

function download(string s, string path_save)
{
char text[9999999];
string link[99], name_file[9999], domain, body;
int count_download_file=0;
regexreplace(1, #path_save, path_save, "(.+?)\\*$", "$1\");

int count_link=regexsearch(sizearray(link), #link[0], s, "https?:\/\/[^\r\n]+", MULTILINE);
if(count_link)
{
for(int i=0; i<count_link; i++)
{
if(regexsearch(1, #domain, link[i], "https?:\/\/[^\/]+"))
{
if(regexreplace(1, #body, link[i], "https?:\/\/[^\/]+\/(.+)", "$1"))
{
if(regexsearch(1, #name_file[i], body, "[^\/]+$"))
{
int count_byte=sendgetweb(#text[0], "Mozilla", "GET", domain, body);
if(count_byte>0)
{
if(fopen(path_save+name_file[i], "wb"))
{
fwriteb(#text[0], count_byte);
fclose();
count_download_file++;


string si="";
for(int i1=0; i1<count_link; i1++)si=si+name_file[i]+formatic(13)+formatic(10);
writeclipboard (si);


}
}
}
}
}
}
}
return count_download_file;
}

(Добавление)
Ух всё разобрался вот кому надо будет:
Скачивание картинок в папку+ добавление название картинок в буфер обмена (Отобразить)
12. Budni - 04 Октября, 2019 - 09:09:15 - перейти к сообщению
Как к скаченному файлу добавить номер в имя?
name_1
name_2
name_3
name_4
?
13. Dantes3000 - 04 Октября, 2019 - 10:09:13 - перейти к сообщению
Budni , string name="name_"+format(n);
где n может быть любым числом. например из цикла for(int n=0; n<99; n++)
14. Budni - 04 Октября, 2019 - 10:12:44 - перейти к сообщению
Dantes3000 ,
Это я понимаю, но вот куда именно в коде вставить в этом?

код (Отобразить)
15. ivantu - 04 Октября, 2019 - 10:36:07 - перейти к сообщению
""
(Добавление)
Я с телефона, но по моему эта часть кода
si=si+name_file[i]+rn;
Тут можно переназначить имя
16. Budni - 04 Октября, 2019 - 11:59:17 - перейти к сообщению
ivantu , Увы эту часть кода я сам писал и она отвечает за сохранение имени файла в буфер обмена.
Тут мне нужно именно переименование скаченного файла.
Хелп не могу разобраться.
17. ivantu - 04 Октября, 2019 - 13:44:22 - перейти к сообщению
Скачанный файл можно переименовать вот так
CODE:
external(INT, "MoveFile", "MoveFileA", "kernel32.dll");
MoveFile("C:\Этот_переименовать.txt", "C:\В_этот.txt");
18. Zireael - 04 Октября, 2019 - 17:53:15 - перейти к сообщению
 Цитата:
Как к скаченному файлу добавить номер в имя?

code (Отобразить)
19. Budni - 04 Октября, 2019 - 22:51:42 - перейти к сообщению
 Zireael пишет:
if(fopen(path_save+name_file, "wb"))
Спасибо, почему тут wb? в документации нет такого значения.
20. Zireael - 05 Октября, 2019 - 02:11:20 - перейти к сообщению
 Цитата:
почему тут wb? в документации нет такого значения.

Версия 3.09 Доработка чтения и записи в файл. Работа в бинарном режиме

Powered by ExBB FM 1.0 Final