Конференция "Начинающим" » Web page в mht файл, как бы рабочий код, но у меня ошибка
 
  • KBO78 (15.02.18 00:17) [0]
    Доброе время суток форумчане,
    Существует одна процедура и приведена на нескольких сайтах (https://www.thoughtco.com/save-a-web-page-as-html-or-mht-1058361), как бы рабочий вариант, сохранения Web cтраницы в mht файл.

    Но у меня на одной строке постоянно летит ошибка (я конечно процедуру немного модифицировал: исключил «WebBrowser1»)

    uses CDO_TLB, ADODB_TLB;

    procedure WB_SaveAs_MHT;
    var
      Msg: IMessage;
      Conf: IConfiguration;
      Stream: _Stream;
      URL : widestring;
      FileName: string;
    begin

    URL := 'http://doilp.com';
    filename := 'd:\WebBrowser1.mht';

      Msg := CoMessage.Create;
      Conf := CoConfiguration.Create;
      try
        Msg.Configuration := Conf;
        Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '') ;
        Stream := Msg.GetStream;
        Stream.SaveToFile(FileName, adSaveCreateOverWrite) ;
      finally
        Msg := nil;
        Conf := nil;
        Stream := nil;
      end;
    end; (* WB_SaveAs_MHT *)


    на строке «Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '') ;», возникает ошибка:

    Project Project2.exe raised exception class EOleException with message 'The system cannot locate the resource specified'.

    Кто знает, почему может система не находить источник? И как избавится от этой ошибки.

    Заранее спасибо за ответ.

    P.S.
    - Delphi 10.2
    - ссылка на якобы сайт, но не совсем так, чем проще, тем лучше. В «WebBrowser1» она отображается.
  • KilkennyCat © (15.02.18 01:25) [1]
    Parameters
    URL
    The full path and file name of the Web page.
  • KBO78 (15.02.18 01:55) [2]
    т.е. если сайта такого не или от не отвечает, то возникает такая ошибка?
  • kilkennycat © (15.02.18 02:15) [3]
    конечно. его ж нет, нет страницы, нет данных.
    Просто добавьте обработку ошибок, чтобы не валило программу.
  • KBO78 (15.02.18 02:43) [4]
    Тут еще одна загвоздка, у метода
    Msg.CreateMHTMLBody(URL, CdoSuppressNone, '', '') ;


    перепробовал все параметры "CdoMHTMLFlags", т.е. ("CdoSuppressNone", "CdoSuppressImages", "CdoSuppressBGSounds", "CdoSuppressFrames", "CdoSuppressObjects", "CdoSuppressStyleSheets", "CdoSuppressAll").

    Хотя для полного сохранения страницы, мне нужно значение "CdoSuppressNone", но всеравно, у себя на винте я получаю урезанный файл.
    Если я сохраняю страницу с помощью "Opera", то получаю размер 102852b, программа же сохраняет его уже 90103b (при значении "CdoSuppressNone")
    Т.е. с "http://u-i-t.ru/info/sohranenie_veb-stranicy_v_formate_html_ili_mht_s_ispolzovaniem_delphi/", при просмотре в "Opera 51.0", я получаю сплошной текст открытый в браузере  https://www.dropbox.com/s/bq58biuoskx2sts/not_all_page_web.txt?dl=0.

    Хотя, если я его открываю, "Opera 12.8" или "IE 11", то намного лучше, смотреть можно, но также есть не все. В "IE 11" гораздо лучше чем в "Opera 12.8"
  • kilkennycat © (15.02.18 03:14) [5]
    https://ru.wikipedia.org/wiki/MHTML
    там много веселого. особенно про разные браузеры. а если учесть, что некоторые сайты могут построить настолько динамичную страницу, что полностью ее вообще не сохранить, то будет еще веселее.
  • KBO78 (15.02.18 03:37) [6]
    А вы с этим компонентом https://www.example-code.com/delphi/mht_saveWebPage.asp, случайно не сталкивались?
  • KilkennyCat © (15.02.18 04:28) [7]

    > KBO78   (15.02.18 03:37) [6]

    нет.
 
Конференция "Начинающим" » Web page в mht файл, как бы рабочий код, но у меня ошибка
Есть новые Нет новых   [118656   +18][b:0][p:0.001]