search
LoginSignup
3

posted at

スクレイピングに必要な知識

スクレイピングの副業に興味があるので簡単にまとめてみました。

スクレイピングに必要な知識

Python

基本的なことができれば良い。入門書一冊やれば十分とのこと。

以下のライブラリの知識が必要。ライブラリはターミナルで

pip3 install ライブラリ名

と入力。

Requests

HTTP通信用のライブラリ。ウェブスクレイピングやHTMLやXMLファイルからデータを取得するのに使う。

BeautifulSoup

requesteで取得したデータの中から必要な情報を抽出する。

Selenium

データの取得、抽出の両方を行うが、ブラウザを操作してデータを取得するので動作が遅い。

HTML

beautifulsoupではHTMLのツリー状のオブジェクトを取得するのでHTMLの構造を理解する必要がある。body、titleなどタグの構造を理解する必要がある。

CSS

HTMLで記述されたウェブページをどのように装飾するか定義する言語。CSSの中でもCSSセレクタを理解する必要がある。CSSセレクタとは、CSSで定義したデザインをどのHTML要素に適応させるかを指定するもの。

JavaScript

ブラウザ上でWebページをダイナミックに動かすためのもの。情報を取得、抽出する際に理解しておく必要がある。jQuery、Vue.jsなどのフレームワークがありそれらの知識も必要。

デベロッパーツール

chromeのデベロッパーツールではそのサイトのHTML、CSS、JavaScriptのコードを無料で見ることができる。macbookでは情報を得たいサイトで option + command + i を押す。windowsは ctrl + shift + i を押す。

法律

Webページは著作権の保護をうける。収集してデータの譲渡は違法。
規約にスクレイピング禁止と記載されている場合も違法。ただし、利用規約がユーザーとの間で有効となるのは利用規約をユーザーに示し同意をクリックした場合に限るので、会員登録の必要がなく誰でもみられるコンテンツに関しては規約違反とならない。

スクレイピングはサーバーに負担をかけるため、高頻度のスクレイピングをすると当該サイトの業務を妨害したとして偽計業務妨害になることも。sleepメソッドを使って頻度を調節する必要がある。

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
3