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文法の授業を一緒に聞きます.