[1020]第3週開発ログ


始める前に、進捗に間に合わないのではないかと心配していました.
急いで忙しくて、幸いにもまだそんなことはありません.
これからも頑張りましょう!

新学の内容



うーん、スクロール可能なスナップショットの拡張プログラムでスクリーンショットしましたが、あまりきれいに処理されていません・・・
とにかく、いろいろ見えますが、実は体感的にはすぐに過ぎてしまい、残りは何もありません.
今週は復習を続ける予感がする.
宿題をするときはもともと大変だったので
キーワードで要約すると、今度はPythonでmongodyを使うことを学びました.
PythonはおなじみですがMongoDB...初めて聞いた言葉はちょっと怖かったです.
授業中にデータベースに関する理論も議論しましたが、
講座や求人広告で耳にするSQL、NoSQLがたくさんあります.
主に業務に使われているDBのようです.

Robo 3 Tによるデータベース管理



3週目は特にダウンロードが必要な番組が多く、期待も心配もあります.
今度はまた何か新しいことを学ぶ期待と
ノートパソコンが耐えられるのではないかと心配しています.
(TMI)
昨日宿題をしている時にファンの皆さんの帰りの声を聞いてびっくりしました.
この間近くで触ってみましたが、熱いですね.
途中で放熱措置が取られ、
メモリも整理したとは言えません.
Robo 3 Tは、見えないDBを表示するプログラムとして理解される.
上の図の真ん中のウィンドウでPythonでpymongoというプログラムを使ってデータを挿入した結果を見ることができます.
印刷する必要がなく、データベースの現状をタイムリーにリフレッシュできます.


そこで,実際のページのパスを決定し,適切な値だけを見つけた.
ディクシャナを作成してDBを作成した場合
上図のように、Robo 3 Tで直接確認できます.

もちろん、Python内でインポートしたデータを変更することもできます.
私の人生の映画のマトリックスの採点を0点に変えます...

悩みの内容



これは授業で答えなければならない問題の一つです.
その結果,マトリクススコアと同じ映画タイトルが出力される.
「同じスコアを持つ」->どうすればいいか知っている
DBでは、Rating(スコア)におけるディック・シャナリーキーのvalueがRating M(マトリクスのスコア)であればよい.
でも映画のタイトル出力は
リストで出ているのに、繰り返し文字で出力すればいいのですが、

左のQuizの答えに比べて残念なことに、重複文の形式が間違っています.
苦労をたくさんしたのです.
重複文の概念を完全に把握していないか、何度も試したことがないからかもしれません.
エラーは、同じMatrix[i]でiの繰り返しを開始したときに定義されていません.
たぶん
for i in num:
この言葉と混同しているようです.

3週目のクイズの悩みについて

import requests
from bs4 import BeautifulSoup

# pymongo
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta

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.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for tr in trs:
    rank_tag = tr.select_one('td.number')
    ti_tag = tr.select_one('td.info > a.title.ellipsis')
    art_tag = tr.select_one('td.info > a.artist.ellipsis')

    if ti_tag is not None:
        rank = rank_tag.text
        title = ti_tag.text
        artist = art_tag.text
        r_rank = rank.strip()
        r_title = title.strip()
        r_artist = artist.strip()
        print(r_rank, r_title, r_artist)
        
#순위 selector
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.number
#제목 selector
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis
#아티스트 selector
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis
上記のコードの成果物

ご覧のように、広い空白や「~が上がる」、「~が維持される」、「~が下がる」などを取り除くべきです.
ジェニー音楽でクリップした時じゃない
ランキングを選ぶだけで1ダウン、維持、3アップというのはちょっと煩わしいです
私もこれが長くないことを知っています.私はこれを具体的に議論する資格がありませんが、
宿題をする学生にとって、どんな感じですか.
音楽ランキングフォルダ/音楽ランキングフォルダ/音楽ランキング数字&音楽ランキング変動フォルダ
その他の要素(音楽タイトル、アーティスト)には、個別のフォルダがあります.
コードで抽出できます.
音楽ランキングは上の写真のように問題があります.
フォルダから「音楽ランキング数字」を抽出したいだけですが、
この音楽ランキングと音楽ランキングの変動要素はフォルダに格納されます.
1本の和弦で抜くのは難しい.
だから私はいろいろなものを探して、文字列のクリップを参考にしました.
私が望む結果を出すことはできません.
フォルダから先頭および後の文字列を抽出する場合に選択します.
思い出すとちょっと不合理です.
今の状況でしか使えないので、
歌の順位が100位を超えると、順番を変えなければならない.
    if ti_tag is not None:
        rank = rank_tag.text
        title = ti_tag.text
        artist = art_tag.text
        rank_list = list(rank)
        #print(rank_list[0], rank_list[1])
        real_rank = rank_list[0]+rank_list[1]
        rr_rank = real_rank.strip()
        #print(rr_rank)
        #real_rank = list(rank)
        #print(real_rank[0])
        #r_rank = rank.strip()
        r_title = title.strip()
        r_artist = artist.strip()
        print(rr_rank, r_title, r_artist)
        #print(rank, title, artist)
        #print(r_rank, r_title, r_artist)
このように揚げたり炒めたりする苦悩の跡

参考となるブログ/サイト


上記の内容を考慮して検索したブログ
Web scripting Quizを展開すると、美化グループの特定のラベルの属性値を取得します.
https://www.jungyin.com/168
3週目の最後のQuizプールで検索した文字列スペースの消去に関するブログです.
https://appia.tistory.com/234
参照文字列クリップのブログ
https://wikidocs.net/2839

自己フィードバック


復習の重要性


今、C、html/cssとpythonを同時に勉強しています.もちろん本当に混同しています.
一つの言語だけを学ぶべきだと思います.
まずCはコンピュータ言語を学習する基礎であり,アルゴリズムや資料構造を学習するためにも必要である.
ゆっくりして、
pythonから、正しい文法とどのように使われているかをよく見ます.

アーミン(?)怖がらないで


3週目の課題は,これまでの課題に比べて慣例に従っていない.
私がやりたいように編んで、
トットさんはどうやってやったのかと思って、答えのビデオを見て、
あまり違いはありません.
文字列の抽出方法は似ていますが、使用するコードは少し異なります.
<文字列インデックスとスライド>が使用されています.
>>> mystring  = 'hello world'
>>> mystring[0:5]
'hello'
>>>
参考ブログソース:https://wikidocs.net/2838
図特大人が教えてくれた答えもあります.
trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for tr in trs:
	title = tr.select.one('td.info > a.title.ellipsis').text.strip()
    rank = tr.select.one('td.number').text[0:2].strip()
    artist = tr.select.one('td.info > a,artist,ellipsis').text
    print(rank, title, artist)
実際には、情報を整数に変換したり、ランキング数値データのみをロードしたりするなど、答えは正しいと思います.
答えもあまり合理的ではないのでおかしいです.
結論は答えさえあれば、不合理な方法を試してみましょう.

コラボレーションについて考える


今週は主にウェブページのキャプチャ、スクロールをしましたが、
テーマの性質のためか、協力に対して特別な考えはありません.

プロジェクトのアイデア


今回のWeb開発の授業や他のプログラミングの授業を聞く前に.
カタログを個人手帳にコピーして編集したことがあります.
ドラッグ>ペースト>すべての余白をクリア(Drag>Paste>Clear All Edge)
うまく利用すれば、今週作ったスクラッチ方式できれいに持ってくるのではないでしょうか.
来週からサーバーを作るそうです!
来週も頑張ります!