LoginSignup
1
0

More than 1 year has passed since last update.

スパルタコーディングクラブ プログラミング入門コース 3週目

Posted at

未経験40代おっさん頑張っています

皆さんお久しぶりです。未経験おっさん頑張っています( ´∀` )
さて早いものでもう入校してから三週間です
そんな今週の学習内容は!!

python

待っていましたpython
好きで好きでたまらないpython
さてまずは簡単にpythonのメリットとデメリットを

メリット

  • 分かり易い
  • 汎用性がある
  • 豊富なライブラリー

デメリット

  • 処理速度が遅い
  • 定数がない

ですかね??
定数っていうのは「変数を宣言した場所以外では中身を変えれないもの」って考え方が分かり易い
ですかね??
処理速度も遅いです。ま~あくまでjavaとかと比べてですが

今週学習したこと

ウェブスクレイピング(クローリング)

簡単にいうとwebサイトからデータを抽出するって行為ですね。
私は独学の時に某流行り病の増加率と予防接種率を自分の
PCのエクセルなどに落としていましたね
余談ですがpythonからexcelを操作するライブラリーをopenpyxlといいます。

ここで少し注意です。このウェブスクレイピング(クローリング)
サイトによっては禁止にしている場所もあります。
なぜなら、このウェブスクレイピング(クローリング)と言う行為は
リアルで例えるなら自分の家の玄関を一秒間に100回以上開けたり閉めたり
する行為と同じ事を抽出先のサーバーにもしている場合もあるからです。
なのでサーバーにもの凄い負担かけているかもという認識をお忘れなく。

mongoDB

mongoDBは「NOSQL」型のデータベースといいますか
非リレーショナル」型のデータベースと言いますかー??
うん、手っ取りばやく言うと「データも形を特に指定しないで放り込める倉庫
ってイメージが一番分かり易いですね( ´∀` )
またまた余談ですが。
リレーショナルデータベースとは特定の値をキーにし色々なテーブルから情報を繋げる事が出来る
データベースですかね?。
一番分かり易い例えがお客様番号をキーにして「名前」や「住所
を様々なテーブルから情報を繋げるですかね。

今回の課題のコード

最後に課題のコードを貼って終わりにします。
と言っても最後の方はカンニングしたのですがwwww
どうしてもNoneの処理が分からなくて💦

import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://www.billboard-japan.com/charts/detail?a=hot100', headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')
songs = soup.select('#content2 > div > div.leftBox > table > tbody > tr')

for song in songs
    #ここで変数「rank」にまずはデータを格納
    rank = song.select_one('td > span')
    #条件分岐を使い「rank」の中身が「None」でなければそれぞれの変数にデータを格納し出力
    if rank is not None:
        rank = rank.text
        title = song.select_one('p.musuc_title').text.strip()
        artist = song.select_one('p.artist_name').text.strip()
        print(rank, title, artist)
1
0
1

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
1
0