これで使える実践Webスクレイピング
書籍情報
発売日 : 2024年05月10日
著者/編集 : 金 徳謙
出版社 : 九州大学出版会
発行形態 : 単行本
ページ数 : 190p
書籍説明
内容紹介
インターネットは現代生活に欠かせない存在となったものの、膨大な情報の中から必要な情報を手作業で収集することはほぼ不可能となりました。なんとか情報を収集できても、情報量がとても多く、データ分析によって全容を把握することも難しくなっています。本書では、実在するWebサイトからのPythonによるデータ収集を事例として、Webスクレイピングに必要な知識や考え方など、具体的なスキルを身につけることができます。Webスクレイピングにチャレンジしたものの挫折した方や、データサイエンスの初心者でも、効率よくインターネット上のデータを収集できるようになる、実践的解説書です。
目次
まえがき
第1部 Web スクレイピングのために
I データサイエンスとは
1 コンピュータとのコミュニケーション
2 データサイエンスを学ぶ理由
3 Web スクレイピングを学ぶ
II Anaconda
1 Anaconda のインストール
2 Jupyter Notebook の起動
(1)Anaconda の起動
(2)Jupyter Notebook の起動
3 Jupyter Notebook の操作方法
4 コードの表示
III Python の基本
1 特徴
2 データの形式
(1)リスト(List)形式
(2)シリーズ(Series)形式
(3)データフレーム(Data Frame)形式
3 よく使う演算子と書き方
(1)代入演算子
(2)算術演算子
(3)比較演算子
4 ライブラリのインストールと読み込み
5 条件文と繰り返し文
(1)if 文
(2)for 文
(3)while 文
IV Web スクレイピングに向けた準備
1 Selenium の導入
2 Chrome driver の追加
3 Chrome driver manager の便利な使い方
4 正規表現の基本
(1)数字の抽出
(2)文字の抽出
(3)url の抽出
第2部 実務データの収集
V 離島経済新聞社の日本の有人離島情報
1 html 文の確認
2 html 文とタグ
3 タグ内情報の収集
(1)ライブラリのインストール
(2)必要ライブラリのインポート
(3)スクレイピングするurl を変数に代入
(4)url 内の情報をサーバーにrequest
(5)html 文の解析
(6)html 文のタグ情報からデータ収集
1)タグの構造とタグ属性 2)1つのタグから情報収集
3)複数タグから情報取得(url リストの作成)
4)島ごとの情報の収集(分割・データ列の操作)
VI Amazon 商品検索情報の収集
1 url の取得
2 商品情報の収集
(1)html 文の解析
(2)product 情報の収集
1)商品名の取得 2)評価情報の収集 3)レビュー数の収集
4)商品の価格情報の収集 5)product 情報の関数化
(3)次ページの確認とurl 取得
3 繰り返しとmain 変数の適用
(1)関数化コード文の構造
(2)while 文による繰り返し
(3)main 関数化
VII Amazon 商品レビューの収集
1 url の取得
(1)html 文の構造把握
1)レビュー文の表示 2)レビュー文のurl の確認
(2)html 文全体の解析
2 レビューデータの収集
(1)コードの解析とデータの収集
(2)データ型の変換:文字列型から日付型へ
(3)収集データの保管
(4)コードの関数化
3 繰り返し文の検討と作成
(1)次ページの確認とurl の取得
(2)繰り返し文の作成
4 main 関数化
(1)ASIN とは
(2)User Agent
1)requests の動作確認 2)User Agent の確認
(3)main 関数文
VIII Tripadvisor の観光地レビューの収集
1 url の取得
(1)html 文の構造把握
(2)html 文の解析
2 レビューデータの収集
(1)コードの解析とデータの収集
1)投稿者名の抽出 2)居住地の抽出(正規表現の応用)
3)レビュータイトルの抽出 4)レビュー文の抽出
(2)データ型の変換:文字列型から実数型へ
1)評価点の抽出
(3)データ型の変換:文字列型から日付型へ
1)訪問日の抽出
(4)コードの関数化
3 繰り返し文とmain 関数化
4 繰り返し文の変更(for 文からwhile 文へ)
(1)次ページの有無確認とurl の取得
(2)main 関数の作成
5 英文レビューの収集
(1)評価点の取得コード修正
(2)訪問日の取得コード修正
(3)英文レビュー用のparse 関数コード
IX 楽天トラベルの宿泊施設情報の収集
1 API
(1)API とは
(2)楽天アプリID の取得(発行)
2 json 形式のデータの取り扱い
(1)json 形式とは
(2)json 形式の書き方
3 楽天トラベル地区コードの収集
(1)楽天トラベル地区コードAPI
(2)地区コードの取得 … 123
1)largeClass 2)middleClass 3)smallClass
4)detailClass
(3)Class ごとのデータの取得
1)middleClass の取得 2)smallClass の取得
3)detailClass の取得
(4)すべてのClassCode の取得
1)middleClass データ取得のためのfor 文
2)smallClass データ取得のためのfor 文
3)detailClass データ取得のためのfor 文
(5)コードの関数化
4 楽天トラベル宿泊施設情報の収集
(1)地区コード
(2)フィルタリング(都道府県の指定)関数
(3)情報の掲載ページ数の取得
(4)すべての宿泊施設情報の取得
(5)必要な宿泊施設情報の取得
(6)save 関数の作成
(7)main 関数の作成
X タウンページからの検索情報の収集
1 検索とリターンデータのurl 取得
2 json データから必要なデータの取得
(1)json データのリターンurl の検査
(2)検索用url の作成
(3)検索件数と表示ページの確認
(4)検索された各ページのurl リスト作成
(5)json データから必要項目の取得
(6)すべての検索結果の取得
(7)取得データの保存
3 関数化とmain 関数の作成
(1)関数化
1)ページごとのurl 作成 2)ページ内の必要項目の取得
3)取得データの保存
(2)main 関数の作成
索 引
第1部 Web スクレイピングのために
I データサイエンスとは
1 コンピュータとのコミュニケーション
2 データサイエンスを学ぶ理由
3 Web スクレイピングを学ぶ
II Anaconda
1 Anaconda のインストール
2 Jupyter Notebook の起動
(1)Anaconda の起動
(2)Jupyter Notebook の起動
3 Jupyter Notebook の操作方法
4 コードの表示
III Python の基本
1 特徴
2 データの形式
(1)リスト(List)形式
(2)シリーズ(Series)形式
(3)データフレーム(Data Frame)形式
3 よく使う演算子と書き方
(1)代入演算子
(2)算術演算子
(3)比較演算子
4 ライブラリのインストールと読み込み
5 条件文と繰り返し文
(1)if 文
(2)for 文
(3)while 文
IV Web スクレイピングに向けた準備
1 Selenium の導入
2 Chrome driver の追加
3 Chrome driver manager の便利な使い方
4 正規表現の基本
(1)数字の抽出
(2)文字の抽出
(3)url の抽出
第2部 実務データの収集
V 離島経済新聞社の日本の有人離島情報
1 html 文の確認
2 html 文とタグ
3 タグ内情報の収集
(1)ライブラリのインストール
(2)必要ライブラリのインポート
(3)スクレイピングするurl を変数に代入
(4)url 内の情報をサーバーにrequest
(5)html 文の解析
(6)html 文のタグ情報からデータ収集
1)タグの構造とタグ属性 2)1つのタグから情報収集
3)複数タグから情報取得(url リストの作成)
4)島ごとの情報の収集(分割・データ列の操作)
VI Amazon 商品検索情報の収集
1 url の取得
2 商品情報の収集
(1)html 文の解析
(2)product 情報の収集
1)商品名の取得 2)評価情報の収集 3)レビュー数の収集
4)商品の価格情報の収集 5)product 情報の関数化
(3)次ページの確認とurl 取得
3 繰り返しとmain 変数の適用
(1)関数化コード文の構造
(2)while 文による繰り返し
(3)main 関数化
VII Amazon 商品レビューの収集
1 url の取得
(1)html 文の構造把握
1)レビュー文の表示 2)レビュー文のurl の確認
(2)html 文全体の解析
2 レビューデータの収集
(1)コードの解析とデータの収集
(2)データ型の変換:文字列型から日付型へ
(3)収集データの保管
(4)コードの関数化
3 繰り返し文の検討と作成
(1)次ページの確認とurl の取得
(2)繰り返し文の作成
4 main 関数化
(1)ASIN とは
(2)User Agent
1)requests の動作確認 2)User Agent の確認
(3)main 関数文
VIII Tripadvisor の観光地レビューの収集
1 url の取得
(1)html 文の構造把握
(2)html 文の解析
2 レビューデータの収集
(1)コードの解析とデータの収集
1)投稿者名の抽出 2)居住地の抽出(正規表現の応用)
3)レビュータイトルの抽出 4)レビュー文の抽出
(2)データ型の変換:文字列型から実数型へ
1)評価点の抽出
(3)データ型の変換:文字列型から日付型へ
1)訪問日の抽出
(4)コードの関数化
3 繰り返し文とmain 関数化
4 繰り返し文の変更(for 文からwhile 文へ)
(1)次ページの有無確認とurl の取得
(2)main 関数の作成
5 英文レビューの収集
(1)評価点の取得コード修正
(2)訪問日の取得コード修正
(3)英文レビュー用のparse 関数コード
IX 楽天トラベルの宿泊施設情報の収集
1 API
(1)API とは
(2)楽天アプリID の取得(発行)
2 json 形式のデータの取り扱い
(1)json 形式とは
(2)json 形式の書き方
3 楽天トラベル地区コードの収集
(1)楽天トラベル地区コードAPI
(2)地区コードの取得 … 123
1)largeClass 2)middleClass 3)smallClass
4)detailClass
(3)Class ごとのデータの取得
1)middleClass の取得 2)smallClass の取得
3)detailClass の取得
(4)すべてのClassCode の取得
1)middleClass データ取得のためのfor 文
2)smallClass データ取得のためのfor 文
3)detailClass データ取得のためのfor 文
(5)コードの関数化
4 楽天トラベル宿泊施設情報の収集
(1)地区コード
(2)フィルタリング(都道府県の指定)関数
(3)情報の掲載ページ数の取得
(4)すべての宿泊施設情報の取得
(5)必要な宿泊施設情報の取得
(6)save 関数の作成
(7)main 関数の作成
X タウンページからの検索情報の収集
1 検索とリターンデータのurl 取得
2 json データから必要なデータの取得
(1)json データのリターンurl の検査
(2)検索用url の作成
(3)検索件数と表示ページの確認
(4)検索された各ページのurl リスト作成
(5)json データから必要項目の取得
(6)すべての検索結果の取得
(7)取得データの保存
3 関数化とmain 関数の作成
(1)関数化
1)ページごとのurl 作成 2)ページ内の必要項目の取得
3)取得データの保存
(2)main 関数の作成
索 引
著者情報
金 徳謙
広島修道大学商学部教授
立教大学大学院観光学研究科博士後期課程単位取得満期退学。
立教大学観光学部助手 、財団法人日本交通公社客員研究員、香川大学経済学部講師、准教授、教授、を経て現職。
主要著書
『実践利用にステップアップを目指すQGIS応用編』ナカニシヤ出版、2022年
『これで使えるQGIS入門』ナカニシヤ出版、2020年
ほか著作多数。