HOME >>  Pythonをさわってみよう >  Pythonを使用した機械学習の教本を開く

Pythonをさわってみよう Pythonを使用した機械学習の教本を開く

 最近流行りのAIについて、以前から興味があったので、その手始めとして「機械学習」について触ってみることにした。 現在のAIブームは第3次の深層学習の時代であり、機械学習は40年前から始まった第2次ブームで発展したとのこと。興味があったのは、データ収集方法としてのWEBスクレイピング手法なのである。 この手法は、いろいろなサイトから目的とする情報を収集する方法なので、鉄道模型のWEBサイトを開設している小生としては興味あるテーマなのである。

  そして、使用するアプリが Python とくれば、一度は挑戦してみたくなるのであった。

 

■ 使用した教本

  

 そのための教本として選定したのが、インプレス社の「いちばんやさしい Python 機械学習の教本 第2版」である。

でも、大きな壁にぶつかってしまったのである。         

 

■ 挫折した内容

 第1章、第2章はすいすいと軽く読み飛ばし、第3章の「スクレイピングでデータを収集しよう」でつなずいてしまったのである。今回は、そのつなずき具合を報告しよう。

 

1) WEBページのアクセスを拒否される。

  第3章の初めに記載されているコマンド(088 ページ)を Python に打ち込んで実行すると、エラーが表示され、それ以降の手順が実行できないのである。初めからつまずいているのである。

import requests
res = requests.get('https://book.impress.co.jp/books/1119101162')
res.status_code

 たったこれだけのコマンドであるが、実行すると長いエラー文が表示されて、正常時に表示される"200"のコードが表示さず、それ以降のコマンドを受け付けてくれないのである。 教本のうたい文句として、講義+実習のワークショップ形式で、楽しく学べる「はじめてでも挫折しない」Pythonの入門書です------とのことですが、まずもって”実習”が出来ない状態となっているのです。
 そこで、自分はソフトのインストールを間違えているかも知れないと、再インストールを実施したが、結果は同じであった。

 

2) なぜ拒否されるのだろうか?
 学習が前に進まないので、いろいろ調べてみた。

 まず、https://book.impress.co.jp/ として実行するとやはりエラーが出た。 このことはサーバーの入口で拒否されていることを示唆している。 そこで、Yahoo やAmazon などの有名サイトや、普段からアクセスしている20ヶ所ほどのサイトにお邪魔してみたが、すべて OK 表示の"200"のコードを返してくれた。

  このことから、教本が提示しているインプレス社だけが、アクセスを制限していると判断しました。

 うるさいアクセスを拒否することは、理解できますが、何も「講義+実習のワークショップ形式のサイト」まで拒否するとは、出版物における詐欺ではないか---!?

 

3) 問い合わせるも返事なし
 もう2週間以上たちますが返事がありません。無視されているのか、重大なトラブルなのか。

 この教本は第2版として、2023年2月21日に出版されています。初版は2020年とのことですので、今年の2月までは何ら問題なかったと思われます。

 

4 )学習用のダミーサイトが欲しい

 どれだけの読者がアクセス拒否にあったのかわかりませんが、アクセス拒否されると学習が進みません。そこで、自分でダミーサイトを作ってみることにしました。

 

■ ダミーサイトを作る

 対象のサイトの構成状態を見るため、使用してブラウザChromeの検証を使用して覗いてみました。複雑な構成になっていましたが、学習用として使用するダミーサイトですから、スクレイピング対象の部分は元本と同じようにするために修正していません。 しかし、他の不要な邪魔な部分はすべて削除しています。必要なリンク以外もすべて削除しています。

 作成したサイトは、インターネットを通してアクセス出来るようにレンタルサーバーに開設している我がサイト「鉄道模型工作実験室」内に構成しましたが、著作権を心配して隠しファイルとして構成し、公開はしていません。

 書籍リストとしてのメインのページは、下記のようにしています。

 そして各書籍を記載しているページは、

としました。文字化けなどのトラブルもありましたが、結果は良好でした。スクレイピングは実施でき、教本の学習を進めることが出来ました。

       ダミー作戦は大成功である  

   *******************************************************************************

 でも、せっかく苦労して得た知識を生かす方法として、「私の蔵書リスト」なるべージを作ってみることにしました。仕組みは同じですが、鉄道模型やマイコン関係など、本棚に並べている書籍のリストです。 次回報告。