Scrapyでスクレイピング(その1 準備編)


関連記事
その2 事前調査編

Gitリポジトリを作成してから空プロジェクトのコミットを行うまでの手順を簡単にまとめます。

開発環境

  • Ubuntu 18.04.5 LTS (Bionic Beaver)
  • bash
  • Python 3.8.1
  • PyCharm 2020.3.2 (Professional Edition)

プロジェクトの準備

  1. GitHubでリポジトリを新規作成します。
  2. リポジトリをcloneします。
  3. Pythonの仮想環境を作ります。
    仮想環境名は任意ですが今回はvenvにしました。

    $ cd <リポジトリ(=プロジェクト)のルートディレクトリ>
    $ python -m venv venv
    
  4. 仮想環境に入って必要なライブラリをインストールします。

    $ . venv/bin/activate
    (venv) $ pip install --upgrade pip
    (venv) $ pip install scrapy
    
  5. 現在のディレクトリをルートにしてScrapyプロジェクトを作成します。

    (venv) $ scrapy startproject <プロジェクト名> . 
    (venv) $ tree -L 3
    .
    ├── <プロジェクト名>
    │   ├── __init__.py
    │   ├── items.py
    │   ├── middlewares.py
    │   ├── pipelines.py
    │   ├── settings.py
    │   └── spiders
    │       └── __init__.py
    ├── scrapy.cfg
    └── venv
    (略)         
    
  6. PyCharmを起動してプロジェクトのルートディレクトリを開きます。
    このタイミングでPyCharmの管理用ファイルが.ideaディレクトリ以下に作られます。
    (.idea以下のいくつかのファイルをGit管理外にするための設定が正しく行われるかをあとで確認します。

  7. ルートディレクトリに.gitignoreファイルを作成してGit管理外ファイルを定義します。
    JetBrains.gitignoreの末尾に/venv/のエントリーを追加します。
    (PyCharmの.ignoreプラグインを使用すればマウス操作のみでも設定可能です。)

  8. 別の実行環境を構築するときのことも考えてpipのrequirements.txtを作成しておきます。
    これで作業はほぼ終わりですので、仮想環境から抜けておきます。

    (venv) $ pip freeze > requirements.txt
    (venv) $ deactivate
    $
    
  9. コミットしてプッシュします。
    コミット時に.gitignoreで定義したファイル[^1]が含まれていないことを確認しておきます。

    $ git add .
    $ git commit
    $ git push
    

書籍紹介

この書籍が非常にわかりやすく、クローリング・スクレイピングを行うのに必要な知識がひととおり学べます。
Pythonクローリング&スクレイピング[増補改訂版]

[^1]: 具体的には.idea/workspace.xmlvenvディレクトリ以下のすべてのファイル