【Python】100 Days of code 41-50days【Udemy】

Python

Udemy講座の100 Days of codeを進めていきます。今回は41-50daysです。

100 Days of Code: The Complete Python Pro Bootcamp for 2023
Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps!

day41 Web Foundation – Introduction to HTML

WebスクレイピングにむけてWebを構成するHTMLの基礎を学習していきます。

内容としてはprogateに取り組んだことがある方なら特に新しいことはないかと思います。

h,p,li,imgタグを用いて簡単な自己紹介ページを作成します。

文字をイタリック表記にする際に<i>,<em>どちらを使用するかの説明があります。

: The Emphasis element - HTML: HyperText Markup Language | MDN
The HTML element marks text that has stress emphasis. The element can be nested, with each level of nesting indicating a greater degree of emphasis.

イタリック表記の際には<em>がよく使われるそうです。

day42 Web Foundation – Intermediate HTML

day41に手を加えていきます。加える内容はa,table,formタグです。

HTMLは非常に多くの要素があり、ドキュメントを読むのも一苦労です。(他の言語もそうですが)

DevDocs
Fast, offline, and free documentation browser for developers. Search 100+ docs in one web app including HTML, CSS, JavaScript, PHP, Ruby, Python, Go, C, C++, an...

こちらのサイトで様々なが言語の簡易的なドキュメントを読むことができます。めちゃ便利です。

最後にgithubを使用して自分のページを公開する方法を学習します。

day43 Web Foundation – Introduction to CSS

HTMLの学習を行ったのでCSSの学習も同時に行います。CSSには

  • Inline CSS
  • Internal CSS
  • External CSS

一般的に使われているのはstyles.cssファイルを用いるExterna CSSではないでしょうか。

CSSのデバッグ方法に関してはChromeの検証ツールを使用します。調べたい要素を右クリック→検証と押すことで、その要素のCSSを確認することができます。

classは汎用的に使用でき同じclass名を何度も使用できるのに対し、idは1度しか使用することができないものです。

day44 Web Foundation – Intermediate CSS

CSSを用いて要素をキレイに配置する方法を学習します。

初めは中央にきれいに配置するために、margin: auto;をしようしていれば何とかなる気がします。

  • margin
  • padding
  • position
  • line-height

をうまく使用して見栄えの良いWebサイトを作成していきます。

day45 Web Scraping with Beautiful Soup

スクレイピングを行うBeautiful Soupを学習していきます。

基本的な使用方法は

from bs4 import BeautifulSoup
import requests

response = requests.get("https://example.com/")
web_html = response.text

soup = BeautifulSoup(web_html, "html.parser")

soup.find(name="#htmltag", class_="#classname") 

課題では

The 100 Best Movies Of All Time
Empire Magazine's definitive list of the best movies of all time. Have you seen them all?

こちらのページからランキング100の映画タイトルを取得するプログラムの作成を行います。

day46 Create a Spotify Playlist using the Musical Time Machine

Beautiful Soupの学習を引き続き行います。

Billboard Hot 100™
THE WEEK’S MOST POPULAR CURRENT SONGS ACROSS ALL GENRES, RANKED BY STREAMING ACTIVITY FROM DIGITAL MUSIC SOURCES TRACKED BY LUMINATE, RADIO AIRPLAY AUDIENCE IMP...

こちらのページから年月日を入力して当時人気のあった100曲を取得、取得した100曲をもとにSpotifyのプレイリストを作成を行います。

思い出の日なんかを入力するとその当時に流行っていた曲をプレイリストにしてくれてちょっとエモみのあるプログラムを作ることができます。

Spotifyにログインする際に認証が必要となるのですが、そこを簡単にしてくれるSpotipyを使用します。

Welcome to Spotipy! — spotipy 2.0 documentation

ドキュメントを読み進めながら楽曲の取得、プレイリストの作成、プレイリストに楽曲の追加を行っていきます。

ドキュメントを読み進めるのはとても苦労します。exampleコードもあるので比較的とっつきやすいといえばそうなのですが、見つけたいページにたどり着くまでが時間がとてもかかってしまいます。この辺は慣れなのでしょうが、googleで検索して同じことをしている人がいないか探しつつの進め方になりますね。(ただ今回Spotipyで調べてもSpotifyのページが出てくることが多く、これまた苦労しました。)

day 47 Create an Automated Amazon Price Tracker

スクレイピングを使用した実用的なプログラムの作成を行います。

日々価格変動するアマゾンの商品価格を取得、自分が欲しい値段になった際にメールを飛ばすようなプログラムの作成です。

赤枠で囲われた箇所を取得します。取得するためにはChromeの検証ツールを使用してid要素から取得します。id要素が使われているとclassと違い一意だとわかるので取得しやすいですね。

day 48 Selenium Webdriver Browser and Game Playing Bot

seleniumの学習を行います。seleniumはWebページをプログラムで捜査してくれるライブラリです。

Cookie Clicker

クッキークリッカーを自動で行うプログラムの作成です。クッキーをクリック、作ったクッキーをもとに、storeから自動生産できる商品をクリックとseleniumが活きるゲームだと思います。

コメント

タイトルとURLをコピーしました