LoginSignup
2

posted at

『Python2年生 スクレイピングのしくみ』で勉強中(その2)

この記事について

『Python2年生 スクレイピングのしくみ』(以下、書籍)でPythonを学習する超初心者の記録です。
とりあえず、書籍を最後まで進めたので、その記録として記事を書いています。

先に書いておきますと、今回はこれまで以上に内容がないです……
これまで保留にしておいた事項を調べるなどして、ボリュームを増やそうかとも思いましたが、付け焼き刃感があるのでそのままにしました。

■ バックナンバー
『Python1年生』で勉強中(その1)
『Python1年生』で勉強中(その2)
『Python1年生』で勉強中(その3)
『Python2年生 スクレイピングのしくみ』で勉強中(その1)

実行環境

OS・MW・ライブラリ バージョンなど
OS Windows 10 Pro 21H2 19044.1645
Python 3.10.4
IDLE 3.10.4
pip 22.0.4
beautifulsoup4 4.11.1
pandas 1.4.2
matplotlib 3.5.1
openpyxl 3.0.9
xlrd 2.0.1
xlwt 1.3.0
folium 0.12.1.post1

やったこと

書籍を読みつつ、サンプルプログラムを一通り試しました。
進めることを優先したため、基本的には書籍の内容通り脱線せずに進めてます。

今回の記事の対象は以下の通りです。
・「第4章 オープンデータを分析してみよう」の途中(p128)から
・「第5章 Web APIでデータを収集しよう」のすべて

気になったところ

書籍の内容について ※Pythonと直接関係しない部分

キッズすたっとからダウンロードできるCSVファイルについて

書籍のp134以降、「LESSON15 キッズすたっと:探そう統計データ」では、キッズすたっとというサイトから統計データをダウンロードする流れになっています。

CSVファイルのダウンロード手順が、現在の「キッズすたっと」と書籍とで異なる……
のはある種当然なのでいいのですが(操作方法は見れば分かりますし)、ダウンロードできるCSVファイルの形式が、見出し行が2行にわたっていて、書籍の手法がそのまま使えない状態でした。

具体的には、ダウンロードしたCSVファイルが以下のような形式になっていました。
(出典:キッズすたっと の年平均気温データを加工(= 一部データの省略)して作成)

とりあえず見出し行を1行に編集して進めましたが、こういうデータをスマートに扱う方法もあるんでしょうかね。ありそうな気はするんですが。

"東京都"
"時点","年平均気温【℃】"
"1975年","15.6"
"1976年","15.0"
(略)
"2020年","16.5"

後で調べる一覧

※「『Python1年生』で勉強中」で記載したものは書いていません(雑多になりすぎるため)。

  • requests.encodingでUTF-8を指定する方法について
  • pandasで見出し行が2行(以上)にわたるCSVファイルを扱う方法について

余談

というわけで、上記の通り今回の記事は薄っぺらくなってしまいました。
新たに見つけた誤字とか、書籍の内容と現在のサイトの変更箇所とか、書こうとすればいくつか書けるのですが、さすがに冗長かなと(Python関係ないですし)。

今回に関してはGWの私事との兼ね合いで書く期間が短かったという言い訳もあるんですが、前回(「その1」)で書いたように深掘りできてないというのもあるかなと。
自律的に学習を進められるよう仕組みをととのえる、というのも課題の一つですね。

というわけで、『Python2年生 スクレイピングのしくみ』の学習記録は今回の記事でおしまいです。
既に『Python2年生 データ分析のしくみ』も購入済みなので、次回からはそちらを進めます。
他に気になる技術要素もいくつかあるのですが、まずは『Python*年生』シリーズを全部やってみようかなと考えています。

参考書籍、参考ページ

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2