Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!(森 巧尚)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!


形式:
書籍
発売日:
ISBN:
9784798161914
定価:
2,420(本体2,200円+税10%)
仕様:
B5変・192ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
紙の書籍
本書籍には新版があります
Python2年生 スクレイピングのしくみ 第2版 体験してわかる!会話でまなべる!

Pythonでスクレイピングを体験してみよう!

【スクレイピングとは】
機械学習やデータ分析になくてはならない「データ」。
このようなデータは、インターネット上に膨大にありますが、Pythonを使えば効率よくデータ収集できます。
こうした手法を「スクレイピング」といいます。
サイト自体もオープンデータ化が進んでおり、データを集めやすい環境が整ってきています。

【Python2年生について】
「Python2年生」シリーズは、「Python1年生」を読み終えた方を対象とした入門書です。
ある程度、技術的なことを盛り込み、本書で扱う技術について身に着けてもらいます。

【ターゲット】
・ネット上からデータ収集を行う初心者
・データ分析の手前の初心者

【本書の売り】
ヤギ博士&フタバちゃんと一緒に、インターネットからのファイルのダウンロード方法、
HTML解析の方法、いろいろなデータの読み書き、
APIの使い方といったデータ収集と便利なライブラリを利用した簡単な可視化手法を解説する書籍です。
また最終的にデータ収集を自動化する方法も簡単に解説します。

スクレイピングのしくみが会話でまなべる!
基礎知識がわかる

基礎知識がわかる

章の冒頭には漫画やイラストを入れて各章で学ぶことに触れています。冒頭以降は、イラストを織り交ぜつつ、基礎知識について説明しています。

プログラムのしくみがわかる

プログラムのしくみがわかる

必要最低限の文法をピックアップして解説しています。途中で学習がつまずかないよう、会話を主体にして、わかりやすく解説しています。

開発体験ができる

開発体験ができる

初めてプログラミング言語(アプリケーション)を学ぶ方に向けて、楽しく学習できるよう工夫したサンプルを用意しています。

第1章 Pythonでデータをダウンロード
 LESSON 01 スクレイピングってなに?
 LESSON 02 Pythonをインストールしてみよう
 LESSON 03 requestsでアクセスしてみよう

第2章 HTMLを解析しよう
 LESSON 04 HTMLを解析してみよう
 LESSON 05 ニュースの最新記事一覧を取得してみよう
 LESSON 06 リンク一覧をファイルに書き出そう
 LESSON 07 画像を一括ダウンロードしよう

第3章 表データを読み書きしよう
 LESSON 08 pandasを使ってみよう
 LESSON 09 さまざまなデータの加工
 LESSON 10 グラフで表示してみよう
 LESSON 11 Excelファイルを読み書きしてみよう

第4章 オープンデータを分析してみよう
 LESSON 12 オープンデータってなに?
 LESSON 13 郵便局:郵便番号データ
 LESSON 14 e-Stat:政府統計の相互窓口
 LESSON 15 キッズすたっと:探そう統計データ
 LESSON 16 自治体のデータ:データシティ鯖江

第5章 Web APIでデータを収集しよう
 LESSON 17 Web APIってなに?
 LESSON 18 OpenWeatherMapってなに?
 LESSON 19 現在の天気を調べよう
 LESSON 20 現在から5日間(3時間ごと)の天気を調べよう

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
  • よくあるご質問

    ------------------------------
    Q:P.95 「2023年10月02日にリリースされたPython 3.12をインストールしたがimport japanize_matplotlibを使っているプログラムでエラーが出る」

    A:Python 3.12からこれまでPythonの標準ライブラリであった「distutilsライブラリ」が削除されてしまったため、import japanize_matplotlibを使っているプログラムで、

    ModuleNotFoundError: No module named 'distutils'

    というエラーが出ます。
    これはPythonの方針によるものなのですが、japanize_matplotlibライブラリではこのdistutilsを使用しているため動かなくなりました。
    通常は、このライブラリの作者が新しいPython 3.12に合わせてライブラリをアップグレードすれば問題は解決するのですが、japanize_matplotlibライブラリは、2020年から更新が止まっています。

    【解決方法1】日本語化を避ける

    japanize_matplotlibライブラリの使用を止めると日本語の文字化けは起こりますが動きます。

    1.インポートを削除する:
    import japanize_matplotlibの行を削除します。

    【解決方法2】distutilsの代わりにsetuptoolsの最新バージョンを使う

    Python 3.12でjapanize_matplotlibモジュールを使用するため、以下のようにすることで解決する場合があります。こちらでは以下の方法で動くようになりました。全ての環境で完全に解決する保証はありませんが、試す価値はあります。

    1.Setuptoolsをアップグレードする:
    以下のコマンドを実行して、setuptoolsを最新バージョンにアップグレードすると、distutils`が含まれなくなったPython 3.12で問題が起こりがちな場合に役立ちます。

    ------------------
    py -m pip install --upgrade setuptools
    ------------------

    2.Japanize_Matplotlibをインストールする:

    その後、japanize_matplotlibを再インストールしてください。setuptoolsのアップグレードによって、以前は依存関係の問題でインストールできなかったライブラリもインストールできるようになることがあります。

    ------------------
    py -m pip install japanize_matplotli
    ------------------

    ------------------------------
    Q:P.26 「2020年10月05日にリリースされたPython 3.9をインストールしたが外部ライブラリをインストールできない」
    A:Python 3.9が出たばかりで、多くの外部ライブラリがPython 3.9に対応していないことが原因です。
     この場合、バージョンをPython 3.8にしてください。

    【Windowsの場合】
    Python 3.9をアンインストールして、3.8をインストールしてください。
    具体的には、以下の通りです。

    □手順1
    「スタート」メニューをクリックして、「設定」(歯車のアイコンをクリックします。
    「アプリ」をクリックして、「アプリと機能」から「Python 3.9」をクリックし、「アンインストール」ボタンをクリックして、アンインストールしてください。

    □手順2
    以下のPython.orgサイトにアクセスして、Python 3.8.6の「Windows x86-64 executable installer」をダウンロードして実行してください。Python 3.8.6がインストールされます。

    ・Python 3.8.6のダウンロードサイト
    https://www.python.org/downloads/windows/

    □手順3
    ライブラリのインストールは、以下のコマンドでインストールできます。

    ------------
    pip install <ライブラリ名>
    ------------

    もしくは以下のコマンドでもインストール可能です。

    ------------
    py -m pip install <ライブラリ名>
    ------------

    【macOSの場合】
    macOSの場合は、Pythonのアンインストールが少し手間がかかります。
    そこでPython 3.8とPython 3.9の2つをインストールした状態でPython 3.8を使う方法を紹介します。

    □手順1
    以下のPython.orgサイトにアクセスして、Python 3.8.6の「macOS 64-bit installer」ダウンロードして実行してください。Python 3.8.6がインストールされます。

    ・Python 3.8.6のダウンロードサイト
    https://www.python.org/downloads/mac-osx/

    □手順2
    Pythonを起動させる時は、Python 3.8のフォルダの中のIDLEを起動させます。

    □手順3
    ライブラリのインストールは、以下のコマンドで実行します。Python 3.8を指定してインストールできます。

    ------------
    python3.8 -m pip install <ライブラリ名>
    ------------

    ------------------------------
    Q:P.56 chap2/chap2-7.pyでエラーがでる
    A:news.yahoo.co.jpのタグは、
    2020年12月までは「topicsList_main」という表記だったのですが、
    2021年1月に「sc-DNdyV lbRQVi」に変わりました。
    そのため、サンプルプログラムの、

    topic = soup.find(class_="topicsList_main”)

    では取得できないので、

    topic = soup.find(class_="sc-DNdyV lbRQVi”)

    と変更してもらえますと幸いです。
    ただし、このタグ名の表記に関しては、サーバー側が自由に変更できるものですので、
    今後も変更されることは十分考えられます。。
    もし今後も変更があり、うまく動かないときは、実際に調べていく必要があります。
    ご自身で調べる方法は、P.54から55で解説させていただいていますので、こちらをご覧ください。

    ------------------------------
    Q:P.92 「CSVファイルが文字化けする」
    A:書き出されたCSVファイルはUTF-8形式なので、Excelでそのまま開くと日本語が文字化けします。
    文字化けしないようにするには、Excelで新規ファイルを作り、CSVファイルを取り込みます。Excel 2019やExcel for Office 365の場合、Excelの「データ」タブをクリックして、リボンから「データの取得と変換」グループの「テキストファイルまたはCSVから」をクリックします。
    「データの取り込み」画面で取り込むCSVファイルを指定して、「インポート」をクリックします。
    取り込み方法を指定する画面が開くので、「元のファイル」で「65001:Unicode(UTF-8)」を選択して、「読み込み」をクリックしてください。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年05月29日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 006
目次 LESSON 14の見出し
7刷
e-Stat:政府統計の相互窓口
e-Stat:政府統計の総合窓口
2021.04.13
1刷 008
上から9行目
完結にまとめると
簡潔にまとめると
2023.02.22
1刷 079
本文上から3行目、上から3つ目の書式
df.loc[行番号1]["列名"]
df.loc[行番号]["列名"]
2024.05.29
1刷 094
上から4行目と7行目
5刷
・Windowsの場合 pip install japanize_matplotlib ・macOSの場合 pip3 install japanize_matplotlib
・Windowsの場合 pip install japanize-matplotlib ・macOSの場合 pip3 install japanize-matplotlib

_を-に修正。
2020.09.08
1刷 101
chap3/chap3-17.pyの下から4行目のコメント
3刷
# 棒グラフを作って画像ファイル出力する
# 棒グラフを作って表示する
2020.04.02
1刷 102
chap3/chap3-18.pyの下から5行目のコメント
3刷
# 棒グラフを作って画像ファイル出力する
# 棒グラフを作って表示する
2020.04.02
1刷 115
表の「サイト名」1行目
7刷
e-Stat:政府統計の相互窓口
e-Stat:政府統計の総合窓口
2021.04.13
1刷 121
節見出し
7刷
e-Stat:政府統計の相互窓口
e-Stat:政府統計の総合窓口
2021.04.13
1刷 122
1行目
7刷
「人口推計」の項目が見つかるので、①「人口統計」をクリックして
「人口推計」の項目が見つかるので、①「人口推計」をクリックして
2022.05.13
1刷 125
一番上の図
2刷
2019.10.11
1刷 162
上から9行目
7刷
Pirpose
Purpose
2022.09.06
1刷 168
上から3つ目のセリフ(フタバちゃん)
7刷
Pyhtonなのに、なんでJavaScriptが出てくるの?
Pythonなのに、なんでJavaScriptが出てくるの?
2022.05.13
1刷 170
上から2行目
7刷
ネットか直接ら読み込むときは
ネットから直接読み込むときは
2021.04.21
1刷 176
リストの上から5行目
7刷

(画像クリックで拡大)

(画像クリックで拡大)

「zip={zipcode}」の部分の背景を黄色く塗ります。
2022.09.08
1刷 183
出力結果
7刷
UST=2019
UTC=2019
2022.09.08
1刷 183
リストの上から13行目
7刷
print(“UST={ust}, JST={jst}".format(ust=dat["dt_txt"], jst=jst))
print("UTC={utc}, JST={jst}".format(utc=dat["dt_txt"], jst=jst))
2022.09.08
1刷 183
本文上から1行目
7刷
時刻(UST)をJSTの時刻に
時刻(UTC)をJSTの時刻に
2022.09.08

感想・レビュー

ぶうやそ さん

2021-02-23

web上には膨大な情報が公開されており、その気になれば幾らでも集めることができる。特にスクレイピングができるようになれば、自分の思い通りにデータ収集が可能となり、マーケティングという領域において強力な武器となる。本書ではPythonを使用したwebスクレイピングの他にも、pandasでの表データの扱い方、matplotlibでの可視化などにも触れられており、データ収集から活用まで幅広く学ぶ事ができる。最近、私の周りでもPython学習者が増加中。機械学習、作業自動化などにも使え、コスパの良いスキルである。

こもも さん

2021-09-21

python1年生に続き、2年生のスクレイピングのしくみも手を動かしながらチャレンジしてみました。最後のヤギ先生の言葉通り、 この本で出来る様になるのは「道具の使い方」であって、世の中にあるデータをどう扱って、 どう分析するかは各々考えなきゃいけないですね。まずは手に入る材料で、もっと分析の練習をしたいと思います。

goose さん

2020-03-01

さくさく読める。自分のレベルには最適でした。