「hmPy・IronPython」の例題③ Webデータの取得

  • 概要

    IronPythonの例題のひとつとなります。

    Webデータの取得

    C#で利用するのと、全く同一です。

    // 確保
    #PY = loaddll( hidemarudir + @"\hmPy.dll" );
     
    // 読み込むアドレスを変数に設定
    $targeturl = "http://www.yahoo.co.jp";
     
    // WebClientを利用して、簡単に取得できる。
    // 正規表現の利用なども。
    #_ = dllfuncw(#PY, "DoString", R"IPY(
    import clr
    import System
    clr.AddReferenceByPartialName('System.Net')
    from System.Net import WebClient
    
    # 秀丸マクロの$targeturlからコピー
    targeturl = hm.Macro.Var["$targeturl"]
    
    content = WebClient().DownloadString(targeturl)
    
    clr.AddReferenceByPartialName('System.Text.RegularExpressions')
    from System.Text.RegularExpressions import Regex
    
    # 「<」の前に■を埋め込む
    content = Regex.Replace(content, '>(<[a-zA-Z])', '>■$1' )
    
    # IronPythonのcontent_cr変数を、秀丸マクロの$content_crへとコピー
    hm.Macro.Var["$content"] = content
    
    )IPY"
    );
    
    debuginfo 1;
    debuginfo $content;
     
    // 解放
    freedll(#PY);