파이썬기초문법,패키지,웹스크래핑,mongoDB에 대해서

Tommy·2022년 4월 30일
0

파이썬 기초문법

파이썬은 코드가 직관적이다.

변수 - a = 3

리스트 - a_list = ['배', '참외', '사과']

딕셔너리 - a_dict = {'name': 'tommy', 'age': 28}

조건문 -
if a_dict['age'] < 30:
print('어리네요')
elif a_dict['age'] > 30:
print('많네요')
else:
print('모르겠네요')

반복문 -
for fruit in a_list:
print(fruit)

파이썬 패키지

파이썬 패키지는 일종의 기능들을 묶어놓은 모듈로써, 이런 패키지의 묶음을 라이브러리라고 합니다.

  1. Requests
    ajax와 같은 역활을 한다.

import requests

r = requests.get('url')
rjson = r.json()

gus = rjson['RealtimeCityAir']['row']

for gu in gus:
print(gu['MSRSTE_NM'], gu['IDEX_MVL']

  1. beautifulsoup4
    뷰티풀숩은 웹스크래핑을 하려고 할때 사용하는 패키지입니다.

import requests
from bs4 import BeautifulSoup

#타겟 URL을 읽어서 HTML를 받아오고,
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)QppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = reauests.get('URL')

#HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦
#soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태가 됨
#이제 코딩을 통해 필요한 부분을 추출하면 된다.
soup = BeautifulSoup(data.text, 'html.parser')

등등,,, 파이썬의 유용한 패키지는 많다.

웹스크래핑

웹스크래핑은 인터넷에 존재하는 많은 정보를 가져와서 취합하여 사용하는 것을 말한다.

불러오는 방법은,

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)QppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = reauests.get('불러오고 싶은 URL')

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

#select를 이용해서, tr들을 불러오기
#원하는 사이트에 가서 불러오길 원하는 곳을 우클릭 > 검사 > copy > copy selector을 한다
movies = soup.select('#old_content > table > tbody > tr')

for movie in movies:
#movie 안에 a가 있으면,
a_tag = movie.select_one('td.title>div>a')
if a_tag is not None:
#a의 text를 찍어본다.
print(a_tag.text)

beautifulsoup 내 select에 미리 정의된 다른 방법은,

#선택자를 사용하는 방법(copy selector)
soup.select('태그명')
soup.select('클래스명')
soup.select('#아이디명')
soup.select('상위태그명 >하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위캐그명.클래스명')

#태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')

#한 개만 가져오고 싶은 경우
soup.select_one('태그명[속성="값"]')

mongoDB에 대해

몽고DB Atlas를 이용해 정보 데이터베이스를 저장하고 불러오고 업데이트하며 정보를 관리한다.

데이터베이스를 관리하는 건, SQL(RDBMS)과 NoSQL(Not only SQL)이 있다

mongoDB Atlas를 사용하기 위한 패키지는
pymongo, pnspython, 때에따라 certifi 가 필요하다

기본 코드는,

import certifi
from pymongo import MongoClient
ca = certifi.where()

client = MongoClient('mongodb+srv://본인ID:본인PW@Cluster0.3ar0e.mongodb.net/본인몽고디비이름?retryWrites=true&w=majority', tlsCAFile=ca)
db = client.본인디비프로젝트이름

이며, 정보를 저장하고 수정하고 삭제하는 코드는,

#저장
cod = {'name': 'bob', 'age' : 27}
sb.user.insert_one(doc)

#파일 하나 찾기
user = db.user.find_one({'name':'bob'})

#여러개 찾기 (_id 값은 제외하고 출력하기)
all_users = list(db.users.find({조건},{'_id':False}))

#수정
db.users.update_one({'name':'bob'},{'$set':{'age':19}})

#삭제
db.users.delete_one({'name':'bob'})

웹스크랩핑할 때 공백이 있으면 strip(), 앞 두글짜만 끊기는 [0:2]

profile
인간미가 느껴지는 개발자가 되고있는 드리머

0개의 댓글