Skip to content

Latest commit

 

History

History
307 lines (305 loc) · 7.43 KB

Toc.md

File metadata and controls

307 lines (305 loc) · 7.43 KB

目次

  • はじめに
    • 注意事項
      • 実行環境
      • サンプルスクリプト
      • Pythonについて
      • 外部パッケージのインストール
  • 第1章 Webスクレイピングとは
    • 1.1 Webスクレイピングとは
    • 1.2 Webスクレイピングの手順
    • 1.3 Webスクレイピングの注意
    • 1.4 Webスクレイピングの問題点
  • 第2章 登場人物のワードクラウドを生成する
    • 2.1 目的
      • ワードクラウド
      • ターゲット
    • 2.2 方法
      • 手順
      • ターゲットのテキストについて
      • Requests
      • NLTK
      • WordCloud
      • セットアップ
    • 2.3 スクリプト
      • スクリプト
      • 実行例
    • 2.4 スクリプトの説明
      • 概要
      • get_page
      • sanitize
      • 不要な文字の削除
      • 文字の置き換え
      • extract_nouns
      • pos_tagの癖
      • generate_wc
      • WordCloud画像生成
  • 第3章 ストーリーラインを描く
    • 3.1 目的
      • ストーリーライン図
      • ターゲット
    • 3.2 方法
      • 手順
      • ターゲットのテキストについて
      • Matplotlib
      • セットアップ
    • 3.3 スクリプト
      • スクリプト
      • 実行例
    • 3.4 スクリプトの説明
      • 概要
      • CHARACTERS
      • sanitize
      • get_word_positions
      • Matploblib
      • generate_plot
  • 第4章 HTMLページからワードクラウドを生成する
    • 4.1 目的
      • ワードクラウド
      • ターゲット
    • 4.2 方法
      • 手順
      • ターゲットのテキストについて
      • Beautiful Soup
      • Janome
      • Mecab IPADIC
      • NumPy
      • Pillow
      • セットアップ
    • 4.3 スクリプト
      • スクリプト
      • 実行例
    • 4.4 スクリプトの説明
      • 概要
      • get_pageの文字化け対策
      • extract_text
      • extract_nouns
      • Tokenオブジェクト
      • 名詞抽出
      • 整理
      • フォントの選択
      • 背景色と輪郭色
      • 文字色
      • 型抜き
  • 第5章 Zipテキストの小説からワードクラウドを生成する
    • 5.1 目的
      • ワードクラウド
      • ターゲット
    • 5.2 方法
      • 手順
      • ターゲットのテキストについて
      • zipfile
      • Chardet
      • Janome Analyzerモジュール
      • セットアップ
    • 5.3 スクリプト
      • スクリプト
      • 実行例
    • 5.4 スクリプトの説明
      • 概要
      • get_page
      • parse_zipped
      • Chardetによる文字エンコーディング推定
      • extract_noun
      • charfilter
      • tokenizer
      • tokenfilter
      • CompoundNounFilter
      • POSKeepFilter
      • TokenCountFilter
      • Analyzerの実行
      • generate_wc
  • 第6章 HTMLの表をグラフにする
    • 6.1 目的
      • グラフ
      • ターゲット
    • 6.2 方法
      • 手順
      • ターゲットの表について
      • Pandas
      • html5lib
      • OpenPyXL
      • セットアップ
    • 6.3 スクリプト
      • スクリプト
      • 実行例
    • 6.4 スクリプトの説明
      • 概要
      • jdate_to_datetime
      • extract_tables
      • DataFrame
      • rowspan
      • 表の結合
      • 注の削除
      • 日付の変換
      • マグニチュード値を小数点数に変換
      • 統計値の計算
      • generate_plot
      • CSV/Excel形式での保存
  • 第7章 HTMLページから画像だけを抜き出す
    • 7.1 目的
      • 画像オブジェクトの保存
      • ターゲット
    • 7.2 方法
      • 手順
      • ターゲットの画像リンクについて
      • ターゲットの画像フォーマットについて
      • Pickle
      • Plilow/PIL
      • セットアップ
    • 7.3 スクリプト
      • スクリプト
      • 実行例
    • 7.4 スクリプトの説明
      • 概要
      • get_page
      • 多リソースアクセス時の問題
      • extract_img_links
      • 絶対URLの取得
      • all_images
      • 画像オブジェクトの属性とメソッド
      • 画像変換
      • pickle_save
      • show_image
  • 第8章 HTMLページの画像からアニメーションを生成する
    • 8.1 目的
      • アニメーション画像
      • ターゲット
    • 8.2 方法
      • 手順
      • アニメーション画像フォーマットについて
      • Pillowの画像保存パラメータ
      • セットアップ
    • 8.3 スクリプト
      • スクリプト
      • 実行例
    • 8.4 スクリプトの説明
      • 概要
      • image_animation
      • キャンバスの生成
      • 貼り付け
      • アニメーション保存
  • 第9章 HTMLページの画像からサムネールを生成する
    • 9.1 目的
      • サムネール画像
      • ターゲット
    • 9.2 方法
      • 手順
      • 台紙画像の構成
      • セットアップ
    • 9.3 スクリプト
      • スクリプト
      • 実行例
    • 9.4 スクリプトの説明
      • 概要
      • image_thumbnail
  • 第10章 HTMLページの画像から顔を抽出する
    • 10.1 目的
      • 顔サムネール
      • ターゲット
    • 10.2 方法
      • OpenCV
      • 画像変換
      • 顔の検出
      • モデルデータ
      • 本書収録のモデルデータ
      • セットアップ
    • 10.3 スクリプト
      • スクリプト
      • 実行例
    • 10.4 スクリプトの説明
      • 概要
      • detect_faces
      • CascadeClassifier
      • crop_faces
      • get_faces
      • メイン
  • 第11章 RESTで取得した地理座標から地図を作成する
    • 11.1 目的
      • インタラクティブマップ
      • ターゲット
    • 11.2 方法
      • 手順
      • REST APIについて
      • JSONテキストについて
      • ターゲットのデータ構造
      • ターゲットのデータの精度
      • Plotly Express
      • セットアップ
    • 11.3 スクリプト
      • スクリプト
      • 実行例
    • 11.4 スクリプトの説明
      • 概要
      • get_page
      • extract_locations
      • generate_map
  • 第12章 CSVの地理座標から地図を作成する
    • 12.1 目的
      • インタラクティブマップ
      • ターゲット
    • 12.2 方法
      • 手順
      • 抽出する列
      • 文字エンコーディングについて
      • 不正な文字について
      • 半角カナについて
      • 列名について
      • 余分な行
      • 余分な列
      • セットアップ
    • 12.3 スクリプト
      • スクリプト
      • 実行例
    • 12.4 スクリプトの説明
      • 概要
      • get_csv
      • 数値データが正しく解釈されたか確認
      • 列名のスペースの除去
      • 複数の列の値を集約
      • 列の取り出し
      • NaNの削除
      • generate_map
  • 付録A やや高度な話題
    • A.1 ボット対策対応
      • アクセス拒否
      • 要求ヘッダを確認する
      • 要求ヘッダに情報を加える
    • A.2 HTTPタイムアウト対応
      • 例外が上がるのが遅い
      • タイムアウト指定
    • A.3 怪しいサーバ証明書
      • セキュリティ上の懸念
      • あえて怪しいサイトに接続する
      • badssl.com
    • A.4 しつこい文字化け対策
      • グーテンベルグが文字化けしない理由
      • なぜHTTPヘッダに文字エンコーディング情報がない?
      • ブラウザが文字化けしない理由
      • Requestsのしつこい文字化け
    • A.5 並列アクセス
      • 直列アクセスは遅い
      • 並列処理
      • タスクをスレッドに渡し、結果を得る
      • たくさん実行するスクリプト
      • 並列は早い
    • A.6 Beautiful SoupとCSS/JavaScript
      • html.parserとhtml5libの違い
      • CSS/JavaScriptの情報の取得
    • A.7 東京都オープンデータAPI
      • 東京都オープンデータカタログ
      • APIの用法
      • Requestsの用法
      • データの構造
      • サンプルスクリプト
    • A.8 Pillowの画像フォーマット
    • A.9 Pillowで利用できる色名
    • A.10 最も近い色名
    • A.11 Matplotlibで複数画像をレイアウト
  • 付録B 参考文献
    • B.1 文献
    • B.2 ライブラリURL
    • B.3 データソースURL
    • B.4 その他
  • 付録C スクリプトリスト