Похоже, в этом случае вам повезло, поэтому, рискуя расстроить веб-мастера, решением будет использование рекурсивной опции wget. Укажите максимальную рекурсию, равную 1, чтобы ограничить ее одним каталогом.
personRichard Corfieldschedule08.08.2011
comment
Но это загрузит файлы... Мне просто нужна ссылка на них в списке. Мысли об этом?
- personaeupinhere; 09.08.2011
comment
Я неправильно прочитал. Самый простой способ - проанализировать результат из wget. Wget, кажется, имеет все, что вам нужно, например, фильтрацию в TIFF, за исключением фактического получения файлов. Какие инструменты/платформа у вас есть? Для этого конкретного сайта можно использовать PERL или SED для извлечения tif-файлов в поисках шаблона href=(.*\.tif) где () — операторы группировки для выбора нужного результата.
- personRichard Corfield; 09.08.2011
Если вы wget http://hyperquad.telascience.org/naipsource/Texas/20100801/, возвращаемый HTML-код содержит список файлов. Если вам не нужно, чтобы это было общим, вы можете использовать регулярные выражения для извлечения ссылок. Если вам нужно что-то более надежное, вы можете использовать анализатор HTML (например, BeautifulSoup). ) и программно извлечь ссылки на странице (из фактической структуры HTML).
С winscp есть окно поиска, в котором можно искать все файлы в каталогах и подкаталогах из каталога в собственной сети - после этого можно выбрать все и скопировать, и иметь в тексте все ссылки на все файлы - нужно иметь имя пользователя и пароль для подключения фтп:
У меня есть система клиент-сервер, которая извлекает имена файлов из назначенной папки в папке сервера приложений, а затем отображает эскизы в клиенте. КЛИЕНТ: (slThumbnailNames — это список строк) == на стороне сервера === TIDCmdTCPServer имеет CommandHandler GetThumbnailNames (командный обработчик — это процедура)
Подсказки: sMFFBServerPictures создается в методе oncreate сервера приложений. sThumbnailDir передается серверу приложений от клиента.
`slThumbnailNames := funGetThumbnailNames(sThumbNailPath);
function TfMFFBClient.funGetThumbnailNames(sThumbnailPath:string):TStringList;
var
slThisStringList:TStringList;
begin
slThisStringList := TStringList.Create;
dmMFFBClient.tcpMFFBClient.SendCmd('GetThumbnailNames,' + sThumbnailPath,700);
dmMFFBClient.tcpMFFBClient.IOHandler.Capture(slThisStringList);
result := slThisStringList;
end;
procedure TfMFFBServer.MFFBCmdTCPServercmdGetThumbnailNames(
ASender: TIdCommand);
var
sRec:TSearchRec;
sThumbnailDir:string;
i,iNumFiles: Integer;
begin
try
ASender.Response.Clear;
sThumbnailDir := ASender.Params[0];
iNumFiles := FindFirst(sMFFBServerPictures + sThumbnailDir + '*_t.jpg', faAnyfile, SRec );
if iNumFiles = 0 then
try
ASender.Response.Add(SRec.Name);
while iNumFiles = 0 do
begin
if (SRec.Attr and faDirectory <> faDirectory) then
ASender.Response.Add(SRec.Name);
iNumFiles := FindNext(SRec);
end;
finally
FindClose(SRec)
end
else
ASender.Response.Add('NO THUMBNAILS');
except
on e:exception do
begin
messagedlg('Error in procedure TfMFFBServer.MFFBCmdTCPServercmdGetThumbnailNames'+#13+
'Error msg: ' + e.Message,mterror,[mbok],0);
end;
end;
end;`