【ANA旅作職人を目指して】シリーズでは、ANA旅作のページにアクセスするプログラムを作成して、各路線、各日程の運賃調査を行っています。
が、シリーズ開始してわずか2週間、最大の危機に陥ってしまいました・・・。
本シリーズの開始については以下記事を参照ください。
最大の危機
最大の危機は突然やってきました。
11月22日の深夜、プログラムを改善しながらANA旅作のページにアクセスしていました。これでアメリカ、ヨーロッパ、アジアの各路線全ての最安値運賃を自動的に抽出できる!!(今まではExcelでせこせこ集計の作業が必要でしたが、それを自動化したぞ!!)というところまで来た時に、「Connection timed out: connect」のエラーが…。ログを見ると1:56分に最初のエラーが発生です。
最初はたまたまネットワークの調子が悪かったんかな~と思って、何回か実行したのですが一切つながらなくなってしまいました(-_-;)
うーん…と思いながら、試しにブラウザからANA旅作のページを開こうとすると以下の画面が表示されます。
なんだ、ANAさんダメだな~。サーバダウンかぁと思って、その日は寝ました。
が、翌日23日になっても一切繋がらず…。
その翌日24日朝も繋がらなかったため、会社で試しにアクセスしたらあっさり繋がったので、そかそか、平日になってからサーバ復旧させたのね♪仕事遅いな~。
と思って家に帰って意気揚々とアクセスしてみたらやっぱり繋がらない(*´Д`)
うーん。これはもしかしてあれか…。と思いながら、PCのwifi接続先をスマホのテザリングに変更したらあっさり繋がりました(´・ω・`)
やっぱり、私のIPアドレス?がスパム扱いされて、アクセス拒否されたのですね(´∀`*)パソコン2台で何度かwifiの接続先を変えながら試したので、間違いないと思います。
今後の方針
せっかくやり始めたことを道半ばで諦めるのは大人としてあるまじき行為!ということで、今後の方針を考えてみました。(本当はせっかく作ったプログラムが無駄になり、いいブログネタを没収されて私の存在価値がなくなるのが嫌なだけですw)
①ANA旅作に電話してアクセス拒否を外してもらう!
②IPアドレスを変えてアクセスする方法を探してみる!
③プログラムを公開して他の人に託す!
④とりあえずは様子を見る!
以下それぞれについて思ったことを記載します。(法的知識は全くなく、シロウト考えで記載していますがご了承ください。)
①ANA旅作に電話してアクセス拒否を外してもらう!
最初にこれを考えました。「安い日を探しているだけだし、悪いことはしてないからアクセス拒否を外してよ!」と電話してみようかなと。。
ただ、よくよく考えると、スクレイピングって、けっこう微妙なところなんですよね。例えば、以下のような事例もあります。
この件ではシステムダウンという問題があったからだと思いますが、1日2,000回のアクセスで逮捕(その後、不起訴)にまで及んでいます。今回の私のアクセスではシステムダウンといった問題までは発生していませんが、11月22日などは1日(Total10時間くらい)で25,000回程度アクセスしています^^;
例えば、ANAさんから正式に「それは業務妨害になるのでやめてください!」と言われてしまったらもうそれ以上は怖くてどうする勇気もありません。
ってことで、却下です。(最後の最後には電話してみるかもしれません)
②IPアドレスを変えてアクセスする方法を探してみる!
これは一つの手かもしれませんが、IPアドレスを偽装?して企業のサーバにアクセスするって悪意プンプンな感じがしますよね。万が一捕まった時に言い訳できない状況になりそうなので、これも却下です。
③プログラムを公開して他の人に託す!
実はプログラムの公開は前々から少し考えていました。そのほうがいろいろな発見が生まれるかなと。ただ、それで多くの方がスクレイピングを行って、サーバに負荷がかかってANAさんに対策されたら嫌だな~ということと、私のブログの優位性がなくなるのは嫌だというセコい考えからためらっていました。(笑)
私のIPアドレスが拒否された以上、プログラムとスクレイピングの方法をイチから公開してしまえ!とも思ったのですが、よくよく考えたらこれこそ業務妨害の片棒を担ぐことになるのではないかなと…。
例えば(そんなにいるわけがないが)100人の方が同じ時間にプログラムを実行した場合、毎秒100アクセスとかになって、ANAのサーバにかかる負荷はけっこうなものになります。もしかすると、それこそサーバダウンするかもしれません。そうすると私がANAのサーバをダウンさせる(業務を妨害する)きっかけをつくることになるのかな…。とか考えて怖くなったので、却下です。
④とりあえずは様子を見る!
①~③がすべて却下になってしまったのでとりあえずは様子をみたいと思います。結局それかよって感じですね。(笑)
でも、深夜1:56にアクセス拒否となったのであれば、手動ではなく自動でアクセス拒否対象に登録された可能性が高いです。日付が変わったばかりなので、日単位のアクセス数ではなく、月単位のアクセス数でチェックされているとすれば、来月になったら復活しないかな~と他力本願の考えです^^;
でも、上記(自動で復活すること)は正直可能性が低そうだしどーだろ…って感じですよね。(笑)それだけだと、やはり何も動きがない可能性があるので、一応、様子見と言いながら、②の方法を少し利用して継続してみようと思っています。
私は今出張中でマンスリー生活していますが、IPアドレスを拒否されたのはマンスリーで利用しているネットワークのIPアドレスです。2週に1回は家に帰っているので、その時に1回だけプログラムを実行しようかと思います。
家のIPアドレスまで拒否された場合には、家でANA旅作を利用できなくなるという大きなリスクはありますが、まぁその時はANA旅作はテザリングで接続するようにします。
最後に
道半ばで大きな壁に立ちふさがれてしまいました。
とは言え、よくよく考えると当然のことでもあり、聡明なまるさん(id:kanamalu)はスクレイピングのリスクを予期して早々に見切りをつけていたようです。
本シリーズ開始のきっかけのテラヤマアニさん(id:kowagari)も最初に以下のようにおっしゃっていたのですが、最初に簡易プログラムを作った時にブロックされなかったのですっかり安心しきってました^^;(例えば1分間でXX回アクセスがあったらそのIPアドレスをブロックとかなのかな?と思っていたので、完全に油断していました。)
これからはANA旅作さんの機嫌を伺いながら、細々と進めていきたいと思います。
とりあえずは、最後に11/21の深夜にとったアジア、アメリカ、ヨーロッパのデータはあるので、その情報は近々公開するかもしれません。
(おまけ)
なんか、常に意識すべき!とか思いながら、全然以下の教えを行動に移せていないな…と思ってモヤモヤしています。
書きたい記事と初心者に寄り添う記事、うまく使い分けながらブログ運営していきたいですね。