見出し画像

プログラミング入門コース - 3週目

Noteにて毎週土曜日クラスの授業の復習を一部公開
(2023/04/29)
Pythonの基本

[授業の目標]

  1. パイソンの基礎文法を理解する。

  2. 求めるページをスクレイピングできる。

  3. pymongoを通じて mongoDBを制御できる。


[Python, スクレイピング,Beautifulsoup,データベース,mongoDB]
恒例のググってみました

Pythonとは(パイソン)
誰が書いてもコードが同じようになる言語を意識して作られています。
分かりやすい文法、少ないコードで簡単にプログラムを書けるので
他の言語と比べると圧倒的に「読みやすい!」「書きやすい!」
比較的低い学習コストで熟練することが可能

Pythonでできること

  • Webスクレイピング

  • 機械学習

  • データ分析

  • Webアプリ開発

  • 自動化プログラム作成

  • 組み込み開発、IoT開発

  • ブロックチェーン開発

Pythonの苦手なこと

  • ゲーム開発

  • スマホアプリ開発

  • 実行速度の求められるソフトウェアの開発

スクレイピングとは(Scraping)
英語の「Scrape」に由来しており、日本語では「こする・かき出す」などの意味を持ちます。基本、WebスクレイピングのことでWebサイトから大量の情報を自動的に抽出するコンピュータソフトウェア技術のこと

Beautifulsoupとは(ビューティフルソープ)
HTMLやXMLファイルをスクレイピングするために設計された、PythonのWebスクレイピング用のライブラリです。インターネット上のWebサイトの多くはHTMLやXMLが使われているため、これらの情報の抽出や解析に役立ちます。Pythonを扱うスキルがあれば、このライブラリと組み合わせることでかんたんにWebサイトからデータ収集を自動化することが可能

データベースとは
決まった形式(データモデル)で整理されたデータの集まりのこと
データベースにはSQLNoSQLと大きく分けて2つの種類があります。

SQLとはリレーショナルデータベースを操作する言語です
リレーショナルデータベースとは、RDB呼ばれるものであり、データを表形式で管理するデータベースです。イメージとしては、Excelのようにデータを管理できるものと考えるとよい

NoSQLとはリレーショナルデータベース(RDB)以外のデータを指す総称です。データの一貫性を担保しないかわりに、ビッグデータを高速に処理可能です。NoSQLには色んなデータベースの型があります。

・キーバリュー型:Redis、Amazon DynamoDBなど
・カラム志向型:Google Big Table、Cassandraなど
・ドキュメント型:MongoDB、MarkLogicなど
・グラフ型:Neo4j

mongoDBとは
アメリカの企業(MongoDB Inc)がクラウド環境などで世界中に汎用データベースを提供するプラットフォームで代表的なNoSQLデータベース・ドキュメント指向型データベースです。「JSON」に似た形式でデータを保存します。そのため外部のシステムと比較的容易に連携可能です。複雑な形式のデータを扱いやすい点もメリットです。ドキュメント形式なので、動的かつ柔軟に扱うデータの形式を変えることもできます。

ターミナルとは
ターミナルとはPCにあらかじめインストールされている、コンピュータに指令を出すためのソフトウェアです。ユーザーがテキストでコマンドを入力すると、結果をテキストで画面に出力してくれるツールです。
(マウス中心の現在のグラフィカルなWindowsの前身OSである「MS-DOS」を操作する時にコマンドプロンプトを使ってました)

仮想環境 venvとは
venvは一つのシステムの中に分離されたPythonの環境を作ることができるソフトウェアです。コマンドで仮想環境を作ったり、仮想環境に出入りすることができます。



• Python構文の基礎を学ぶ

• Pythonパッケージをインストールする。

• Pythonでwebスクレイピングする方法を学ぶ。


1週間の振り返り
Pythonパッケージをインストールする所まではうまく出来たが、mongoDBの設定にとても苦労しました。pythonのバージョンや、使っているパソコン(Windows、Mac)によってうまくいかない場合があった。英語のサイトなのでおそらく独学では一度つまづくとブレーキがかかりGIVEUPしそうで、こういう場合にもリアルタイムで解決できる状況があって良かった。

1週間で学んだこと
Webスクレイピングする為にGoogle Chromeデベロッパーツールで要素のCSSセレクターを取得する方法を学んだが、録画動画で見直して試してみてもうまくいかなった。
(後日オフィスアワーで教えてもらう予定)

今回も適当な感じでUPしました



この記事が気に入ったらサポートをしてみませんか?