0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのライブラリについて勉強!

Posted at

今日はPythonのライブラリについて勉強しながら
qiitaにいろいろまとめていこうと思って記事を書いています!
それでは早速、スタートです!

Pythonの標準ライブラリ

標準ライブラリとは?

標準ライブラリは組み込み関数のほかにPythonの中に含まれている
モジュール群のことを言います!
モジュールって何っていうと関数を埋め込んだ
Pythonプログラムのことです!
標準ライブラリ使います!ということは
Pythonに含まれている関数を使います!
ということと同義になります

ファイル・ディレクトリ操作

コンピュータ上のファイルを動かしたり、ファイルを作ったりします

os

ファイルやフォルダの名前を変更したり、削除したり、存在を確認できる
「カレントディレクトリ」を調べたり、変えたりできる
os.pathというサブモジュールと組み合わせることで
ファイルパスの結合や分割が安全に行えます
・os.path.exists('ファイル名'):ファイルがあるかどうかの確認
・os.mkdir('新しいフォルダ名'):フォルダの作成
・os.listdir('.'):今いる場所のファイル一覧を取得

pathlib

os.pathの機能をより直感的でオブジェクト指向的に
扱えるようにしたライブラリです
パスを文字列ではなく「オブジェクト」として扱うため
/によってパスを結合できるなどコードがスッキリします
・Path('フォルダ名') / 'ファイル名':パスの結合
・p = Path('ファイル名'); p.exists():ファイルの存在確認
・p.name:ファイル名の取得

システム・実行環境の操作

sys

Pythonの実行環境に関する情報にアクセスできる
プログラムを起動する際に与えられた引数(コマンドライン引数)を
取得したり、プログラムを途中で終了させたりできる
・sys.argv:コマンドライン引数をリストとして取得
・sys.exit():プログラムの強制終了
・sys.platform:実行中のOSを調べる

データ形式の変換

json

多くのWeb APIで使われているJSON形式のデータを
Pythonの辞書やリストと相互に変換できる
インターネットから取得したデータをプログラムで使う際に
必須の知識となります
・json.loads(json文字列):JSON文字列をPythonの辞書/リストに変換
・json.dumps(辞書):Pythonの辞書をJSON文字列に変換

csv

Excelなどで使われるcsvファイルを読み書きするためのライブラリ
1行ずつリストとしてデータを読み込んだりリストのリストを
CSVファイルに書き出したりできます
・CSVファイルの読み込みとデータ処理
・プログラムの実行結果をCSVファイルとして保存

便利なデータ構造

Python標準のリストや辞書をさらに高機能にしたもの

collection

特殊で便利なデータ構造が集まっている
・Counter:リスト内の各要素が何個あるか数えて辞書形式で返す
・defaultdict:辞書に存在しないキーにアクセスしたときにエラーではなく
自動で初期値を設定してくれる、キーの存在を毎回確認する手間が省ける
・deque:リストの先頭への要素追加・削除が高速なデータ構造

Web操作ライブラリ

Requests

PythonでHTTP通信をするならまずはこれ
このURLにアクセスしてデータを取ってくるという命令ができる
ログインやファイルのアップロードなども簡単
・WebAPIからJSONデータを取得する
・WebページのHTMLをダウンロードしてくる
・画像などのファイルをダウンロードする

Beautiful Soup 4

RequestでHTMLを取得し、Beautiful Soupで情報を抜き出すという使い方
・Webスクレイピング全般。特定のクラス名やIDを持つタグを探して
 その中のテキストやリンクを取得する

lxml

C言語で書かれているため、非常に高速に動作する
Beautiful Soupよりも厳密でXMLの解析などにも強力
Beautiful Soupは内部のパーサーとしてlxmlを
使用することもでき、その場合は「使いやすさ」と「速さ」を両立できる
・大量のWebページを高速に処理する必要がある場合
・XML形式のデータを扱う場合

Selenium

ブラウザ自動化のデファクトスタンダード
Webサイトのテスト自動化ツールとして開発されたので
クリック、入力、スクロールなど人間ができる操作はほぼすべて可能
弱点としては実際のブラウザを使用するため、Requestsなどと比べて
動作が遅く、リソースも多く消費する

Playwright

Seleniumよりも高速で非同期処理に対応しているため効率的なコードがかける
また、特定のネットワークリクエストを待つなどモダンなWebサイトに
対応した便利な機能が豊富
・Seleniumと同じく、JavaScriptが多用されたサイトのスクレイピングやテスト
・最近ではSeleniumに代わる候補として人気が高まっている

Scrapy

複数のページを並行して巡回し、データを効率的に収集・保存するための
機能がすべてそろっている。非同期で動作するため非常に高速
クローリング作業を体系的に管理できる
・ECサイトの商品情報を丸ごと収集する
・定期的にサイトを巡回して情報を更新するようなシステムを構築する場合

0
1
0

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
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?