본문 바로가기

내일배움단/웹개발 종합반

[내일배움단] 웹개발 종합반 - 3주차 - 배운 내용 정리

파이썬 기본 문법

파이썬은 중괄로( { } )를 이용해 코드를 구분하지 않는다.

줄 들여쓰기를 기준으로 코드를 구분한다.

함수 선언

def function_name():
	print('함수 내용')

조건문 사용

a = 123
if a is not None:
	print(a)

반복문 사용

items = ['1', '2']
for item in items:
	print(item)

웹스크래핑(크롤링)

웹 서버로 GET 요청을 보내기 위해선, requests 패키지가 필요함.

bs4 패키지를 활용하면 HTML, Json 코드들을 보기 편하게 자동으로 줄을 맞춰준다.

기본 코드

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')

원하는 대상을 특정하려면 크롬 개발자 도구에서 selector를 복사해서 사용한다.

클립모드에 복사된 selector를 여기 부분에 넣어 사용한다.

select 함수는 해당 되는 조건의 대상을 리스트 형태로 전달해주고,

select_one 함수는 해당 되는 조건의 첫번째 대상 하나만 전달해준다.

item = soup.select('여기')

태그 사이에 있는 문자열을 얻어오기 위해서는 .text 속성을 사용한다.

p = soup.select_one('td > p')
comment = p.text

DB (mongoDB) 사용해보기

mongoDB는 사용자 인터페이스가 없는 서비스 프로그램이다.

robo 3T 프로그램을 이용하여 mongoDB를 GUI를 활용해 접근할 수 있다.

 

파이썬(Python)에서 mongoDB를 사용하려면 pymongo 패키지가 필요하다.

 

기본 코드

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

inset / find / update / delete

# 저장 - 예시
doc = {'name': 'bobby', 'age': 21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name': 'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age': 21}, {'_id': False}))

# 바꾸기 - 예시
db.users.update_one({'name': 'bobby'}, {'$set': {'age': 19}})

# 지우기 - 예시
db.users.delete_one({'name': 'bobby'})