質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.36%

  • PHP

    22369questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Laravel 5

    2280questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

  • Laravel

    766questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

ハローワークの案件を取得しようとすると、都道府県一覧ページにリダイレクトされる

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 888

YYama

score 21

いつもお世話になっております。
今回ハローワークのスクレイピングURLを作成し、そのURLからhtmlを作成しようとしても、なぜか

やりたいこと

スクレイピングにてハローワークの案件URLを取得し、そこからデータをとってくる。

不明点

ハローワークの都道府県一覧のページから各都道府県のページに遷移し、そこで各案件のURLを取得し、PowerShellにて案件の内容を表示させること。

コード

    $formArray = array(130020, 139010);
    foreach($formArray as $form){
        $url = 'https://www.hellowork.go.jp/servicef/'.$form.'.do?action=initDisp&screenId='.$form;

        $crawler = $GoutteClient->request('GET', $url);

        $prefectures = $crawler->filter('table td')->selectButton($pref[$cnt])->form();

        $crawler = $GoutteClient->click($prefectures);

        $crawler = $crawler->filter('td.center a[href]')->each(function($node) {
                return $node->text();
        });
        foreach ($crawler as $key => $value) {

            $value = explode('-', $value);
            $aa = trim($value[0]);
            $vv = trim($value[1]);

        $url = 'https://www.hellowork.go.jp/servicef/'.$form.'.do?screenId='.$form.'&action=initDisp&action=commonDetailInfo&kyujinNumber1='.$aa.'&kyujinNumber2=%0A'.$vv.'&kyushokuUmuHidden=&kyushokuNumber1Hidden=&kyushokuNumber2Hidden=';
        $ccccc = $GoutteClient->request('GET', $url);
        }
    }


上記の$cccccにてvar_dumpをかけても都道府県一覧ページにリダイレクトされてしまいました。
何かパラメータを持たせたうえでないとできないのかわかっておりません。
リダイレクト先のURLは下記になります。
https://www.hellowork.go.jp/servicef/130020.do?action=initDisp&screenId=130020

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

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

一度見てみたのですが、130020.doが一覧表示で、詳細は130050ではないですか?
私の方では130050になっていましたが・・・。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/08 18:42

    大変恥ずかしいです・・・
    fagai様の仰る箇所を誤っておりました。
    ご回答ありがとうございます。
    正常に開くことができました!

    キャンセル

  • 2017/09/08 19:30

    ハローワークはAPI提供もあるみたいなので、該当する法人等ならばAPIも使えるかもしれません。
    [求人情報オンライン提供 職業紹介事業者ご担当者様へ](https://www.hellowork.go.jp/info/online02.html)
    [求人情報外部提供用ウェブAPI利用手順書](https://www.hellowork.go.jp/dbps_data/_material_/localhost/doc/APImanual2902.pdf)

    キャンセル

  • 2017/09/08 23:23

    ご提示ありがとうございます!
    今回はこちらである程度取得の仕方を選びたいので、APIは使用せず進めていこうと考えております。
    ただ、こういったものがあるのですね。勉強になりました。

    キャンセル

  • 2017/09/08 23:32 編集

    見た感じあまりサイトリニューアルはしなさそうなので、スクレイピングでも大丈夫かと思います。
    質問のサンプルのコードは全力で動くので相手先のアクセス負荷等の問題にならないように1ページアクセス毎にsleep(1)とか付けるほうがいいかと思います。

    キャンセル

  • 2017/09/08 23:44

    ご回答ありがとうございます。
    一応すでにファイル下部にsleep(1)は付けてあります。
    別途すべき質問かもしれませんが、現在xmlでのパスを取得できず困っております。
    ぜひともご助力いただきたいので、質問を作成後にご回答いただければ幸いです。

    キャンセル

同じタグがついた質問を見る

  • PHP

    22369questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Laravel 5

    2280questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

  • Laravel

    766questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

  • トップ
  • PHPに関する質問
  • ハローワークの案件を取得しようとすると、都道府県一覧ページにリダイレクトされる