Web開発総合クラス3週間開発ログ
4817 ワード
1.コース目標
1)Pythonの基礎文法をマスターする。
2)ページをスクロールする
3)pymongoでmongodyを制御できる。
2.学んだこと
1)Python基礎文法
プログラミング言語ごとに変数、資料型、関数、条件文、反問文の5種類を覚えなければならない.
Pythonは重要です!
へんすう
a = 1
b = 2
print(a+b)-->結果は3です.
JavaScriptと違ってletを書く必要はありません.(let a = 3)
データ型
Listタイプ
a list=[『りんご』『梨』『柿』]
a_list.append("スイカ")-->a listにスイカを追加
a list[2]-->マイナス
a_list.追加([‘イチゴ’,‘スイカ’)-->a list=[‘リンゴ’,‘梨’,‘柿’,[‘イチゴ’,‘スイカ’].
ここで、a list[3][0]はイチゴです.
Dictionary
a_dict = {'name':'bob','age':'25'}
a dict["height"]=170-->a dictに"height":"170"を追加
a_dict['name'] ---> 'bob'
ListとDictionaryの組み合わせ
people = [{'name':'bob','age':'25'},{'name':'kyle','age':'30'}]
people[1]['name'] ---> 'kyle'
person = {'name':'joon','age':'15'}
people.append(person) ---->[{'name':'bob','age':'25'},{'name':'kyle','age':'30'},{'name':'joon','age':'15'}]
かんすうがた
def関数名(a,b,c):
return a+b+c
result=関数名(1,2,3)-->6
(JavaScriptは、関数名(a,b,c){return a+b+c}です.)
条件文
def is_adult(age):
if age > 20:
print(「大人」)
else:
print(青少年)
is成人(21)-->成人
複文
フルーツ
for fruit in fruits:
りんごの梨が印刷されている.
フルーツ
count = 0
for fruit in fruits:
ifフルーツ=梨:
count += 1
print(count)-->2(個数がわかる)
2)スクロール
仮想環境(virtualenvironment):リポジトリの場所(venvフォルダ)
要求パッケージをインストールします.Ajaxの役を演じるimport requests
r = requests.get('url')
rjson = r.json() 를 추가하여 사용한다.
ex)
importリクエスト#リクエストライブラリのインストールが必要ですr = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
print(row['MSRSTE_NM'],row['IDEX_MVL'])
スクロールベース
bs 4パッケージを追加します.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('url',headers=headers)
soup=BeautifulSoup(data.text,“html.parser”).
soup.selectまたはsoup.select oneを使用して必要なものを取得します.
インポートする情報を「≪チェック-コピー-セレクタ|Check-Copy-Selector|emdw≫」コピーにインポートし、前の共通セクションを取得します.
(1. #body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis
2. #body-content > div.newest-list > div > table > tbody > tr:nth-child(2) > td.info > a.title.ellipsis
もしそうであれば、#body-content>div.最新-list>div>table>tbody>trは共通です)
trs = soup.select(「ここに入れる」)
次は複文を回す.for tr in trs:
title = component.select_one('뒷부분을 복사해온다.').text.strip()
rank = component.select_one('td.number').text[0:2].strip()
artist = component.select_one('td.info > a.artist.ellipsis').text
print(rank,title,artist)
를 통해 원하는 정보를 가져온다.
こちらです.textは文字のみを入力し、[0:2]は最初の2文字のみを切断します.strip()で空きスペースを削除できます.
3)pymongoでmongodyを制御する。
DBを使用する理由:情報をよりよく検索するために
データベースはIndex順にデータを並べ替えます.
DBは私たちが使っているプログラムと同じです.
その中でMongoDB Atlasを利用して勉強します.
pymongoとdnspythonパッケージをインストールします.from pymongo import MongoClient
client = MongoClient('mongodb+srv://아이디:비밀번호@cluster0.6mof6.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.폴더이름 --->를 추가하여 사용한다.
pymongoの使い方
保存→例doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
検索-例user = db.users.find_one({'name':'bobby'})
複数検索-例(id値を除く)all_users = list(db.users.find({},{'_id':False}))
置換-例db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
パージ-例db.users.delete_one({'name':'bobby'})
3.感じるところ、補うところ
ウェブ開発総合クラスを聞いたとき、初めてあまり入行していないと感じました.講義を見ているうちに、なぜこのようにコードを書き、動作しているのかを理解してこそ、より速く学ぶことができますが、指示通りにやるだけなので、受け入れにくいと思います.ちょうどPython文法の授業が始まるので、3週間の例題と宿題を繰り返して、Python文法の授業を一緒に聞きます.
Reference
この問題について(Web開発総合クラス3週間開発ログ), 我々は、より多くの情報をここで見つけました
https://velog.io/@sayber123/웹개발-종합반-3주차-개발일지
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
1)Python基礎文法
プログラミング言語ごとに変数、資料型、関数、条件文、反問文の5種類を覚えなければならない.
Pythonは重要です!
へんすう
a = 1
b = 2
print(a+b)-->結果は3です.
JavaScriptと違ってletを書く必要はありません.(let a = 3)
データ型
Listタイプ
a list=[『りんご』『梨』『柿』]
a_list.append("スイカ")-->a listにスイカを追加
a list[2]-->マイナス
a_list.追加([‘イチゴ’,‘スイカ’)-->a list=[‘リンゴ’,‘梨’,‘柿’,[‘イチゴ’,‘スイカ’].
ここで、a list[3][0]はイチゴです.
Dictionary
a_dict = {'name':'bob','age':'25'}
a dict["height"]=170-->a dictに"height":"170"を追加
a_dict['name'] ---> 'bob'
ListとDictionaryの組み合わせ
people = [{'name':'bob','age':'25'},{'name':'kyle','age':'30'}]
people[1]['name'] ---> 'kyle'
person = {'name':'joon','age':'15'}
people.append(person) ---->[{'name':'bob','age':'25'},{'name':'kyle','age':'30'},{'name':'joon','age':'15'}]
かんすうがた
def関数名(a,b,c):
return a+b+c
result=関数名(1,2,3)-->6
(JavaScriptは、関数名(a,b,c){return a+b+c}です.)
条件文
def is_adult(age):
if age > 20:
print(「大人」)
else:
print(青少年)
is成人(21)-->成人
複文
フルーツ
for fruit in fruits:
りんごの梨が印刷されている.
フルーツ
count = 0
for fruit in fruits:
ifフルーツ=梨:
count += 1
print(count)-->2(個数がわかる)
2)スクロール
仮想環境(virtualenvironment):リポジトリの場所(venvフォルダ)
要求パッケージをインストールします.Ajaxの役を演じる
import requests
r = requests.get('url')
rjson = r.json() 를 추가하여 사용한다.
ex)importリクエスト#リクエストライブラリのインストールが必要です
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
print(row['MSRSTE_NM'],row['IDEX_MVL'])
スクロールベース
bs 4パッケージを追加します.
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('url',headers=headers)
soup=BeautifulSoup(data.text,“html.parser”).soup.selectまたはsoup.select oneを使用して必要なものを取得します.
インポートする情報を「≪チェック-コピー-セレクタ|Check-Copy-Selector|emdw≫」コピーにインポートし、前の共通セクションを取得します.
(1. #body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis
2. #body-content > div.newest-list > div > table > tbody > tr:nth-child(2) > td.info > a.title.ellipsis
もしそうであれば、#body-content>div.最新-list>div>table>tbody>trは共通です)
trs = soup.select(「ここに入れる」)
次は複文を回す.
for tr in trs:
title = component.select_one('뒷부분을 복사해온다.').text.strip()
rank = component.select_one('td.number').text[0:2].strip()
artist = component.select_one('td.info > a.artist.ellipsis').text
print(rank,title,artist)
를 통해 원하는 정보를 가져온다.
こちらです.textは文字のみを入力し、[0:2]は最初の2文字のみを切断します.strip()で空きスペースを削除できます.3)pymongoでmongodyを制御する。
DBを使用する理由:情報をよりよく検索するために
データベースはIndex順にデータを並べ替えます.
DBは私たちが使っているプログラムと同じです.
その中でMongoDB Atlasを利用して勉強します.
pymongoとdnspythonパッケージをインストールします.
from pymongo import MongoClient
client = MongoClient('mongodb+srv://아이디:비밀번호@cluster0.6mof6.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.폴더이름 --->를 추가하여 사용한다.
pymongoの使い方
保存→例
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
検索-例user = db.users.find_one({'name':'bobby'})
複数検索-例(id値を除く)all_users = list(db.users.find({},{'_id':False}))
置換-例db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
パージ-例db.users.delete_one({'name':'bobby'})
3.感じるところ、補うところ
ウェブ開発総合クラスを聞いたとき、初めてあまり入行していないと感じました.講義を見ているうちに、なぜこのようにコードを書き、動作しているのかを理解してこそ、より速く学ぶことができますが、指示通りにやるだけなので、受け入れにくいと思います.ちょうどPython文法の授業が始まるので、3週間の例題と宿題を繰り返して、Python文法の授業を一緒に聞きます.
Reference
この問題について(Web開発総合クラス3週間開発ログ), 我々は、より多くの情報をここで見つけました
https://velog.io/@sayber123/웹개발-종합반-3주차-개발일지
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Web開発総合クラス3週間開発ログ), 我々は、より多くの情報をここで見つけました https://velog.io/@sayber123/웹개발-종합반-3주차-개발일지テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol