

GASでwordpressのパスワード保護ページにログインし、表示される内容をスクレイプしたいのですが、ログインがうまくできません。

[code]

    <?php if( !post_password_required( $post->ID ) ) : ?>
      //下記のブロック要素をスクレイプしたい
      <div class="hg1">
      </div>
    <?php else: ?>
    <?php echo get_the_password_form(); ?>
    <?php endif; ?>
    
[/code]

試したこととしては

[code]

    function testLogin(){
      //下記はvar LOGIN_URL = "https://hghg/wp-login.php"や固定ページのパスなど色々変更しましたがうまくいきませんでした。
      //Request URLなども参照し行いましたがここが間違えているかもしれません。
      //hghgは例です。
      var LOGIN_URL = "https://hghg/wp-login.php?action=postpass";
      
      // POSTデータ
      var payload_data = {
        //Chromeの開発者ツールのNetwork->Form Dataを参照し設定しました。
        "post_password":"保護ページにログインするパスワード",
        "Submit": "確定",
      };
      
      // POSTオプション
      var post_options = {
        method: "POST",
        contentType: "application/x-www-form-urlencoded",
        payload: payload_data,
        followRedirects: false
      };
      
      // POSTリクエスト
      var response = UrlFetchApp.fetch(LOGIN_URL, post_options);
    
      // レスポンスヘッダーからcookieを取得
      var cookies = response.getHeaders()["Set-Cookie"];
      
      // ログインで認証されたcookieをヘッダーで使用
      var headers = { Cookie: cookies }; 
      var get_options = {
        method: "get",
        headers: headers,
        followRedirects: true,
      };
      var SCRAPING_URL = "https://hghg/対象の固定ページ/";
      
      response = UrlFetchApp.fetch(SCRAPING_URL, get_options);
      var content = response.getContentText("UTF-8");
    　Logger.log(content)
    }
    
[/code]

と上記のようにCookieの情報を取得し行おうとしました。

期待する結果としては、

[code]

    <div class="hg1">
    </div>
    
[/code]

を含む文字列を取得したいです。

よろしくお願いいたします。


CC BY-SA 4.0
2020-08-14T05:46:51.773
69539
2020-08-14T05:46:51.773
41494
question
wordpress google-apps-script web-scraping
GASでwordpressのパスワード保護ページにログインし、スクレイピングする方法