[수업 목표] 파이썬 기초 문법 알아2. 원하는 페이지를 크롤링 할 수 있습니다.3. pymongo를 통해 mongo DB를 제어할 수 있다.
[목차] (설치, 복습, 안내, 퀴즈, 숙제 제외) 05.파이썬 기초 공부 06.파이썬 패키지 설치 07. 패키지 사용 08. 웹스크랩(크롤링) 기초 11. DB개괄 12. pymongo로 DB 조작하기 13. 웹스크랩의 결과를 저장하기
웹스크랩, DB연습 숙제로 만든 거
05.파이썬 기초공부 06. 파이썬 패키지 설치 PyCharm 메뉴의 File > Settings > Project: (하고 있는 프로젝트) > Project Interpreter


07. 패키지 사용 import requests#requests라이브러리의 설치가 필요
r = requests.get(‘API 주소’)rjson = r.json()
print(rjson[‘~’][‘~’][~][‘~’])
08. 웹 스크랩(크롤링)기초’bs4’를 검색하고 beautifulsoup4패키지를 추가 설치. 크롤링 기본 세팅 import requests from bs4 import Beautiful Soup
타겟 URL을 읽어서 HTML를 받아오고,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(‘ 크롤링할 웹페이지 주소 ‘,headers=headers)
#HTML을 BeautifulSoup라고 하는 라이브러리를 활용하고 검색하기 쉬운 상태로 형 soup과 변수에 “퍼싱을 쉽게 된 html”이 들어간 상태가 된 soup=BeautifulSoup(data.text, html.parser’)
#다음에는 코딩을 통해서 필요한 부분을 추출하면 된다.크롬 개발 툴을 참아!해당 웹 페이지에서 필요한 부분에서 오른쪽 클릭-검사. 오른쪽 클릭-copy-copy selector선택자를 가져온다.
beautifulsoup내의 select에 미리 정의된 여러가지 방법 soup.select(‘태그 이름’)soup.select(‘. 클래스 이름’)soup.select(‘#ID이름’)soup.select(‘상위 태그 이름>하위 태그 이름>하위 태그 이름>하위 태그 이름’)↑ 검사>해당 요소의 Copy>그 경우는 ↓#태그와 속성 값으로 찾는 경우는 soup.select(‘태그 이름[속성=”값”]’)#한개만 가지고 오고 싶은 경우는 soup.select_one(‘위와 마찬가지’)
태그 안의 텍스트를 찍고 싶을 때는 → 태그. text태그 안의 속성을 찍고 싶을 때는 → 태그.[‘속성’]여백이나 문자를 없앨 때는 → 태그. text.strip()텍스트 앞에서 n개만 → 태그. text[0:n]
11.DB개괄 Database의 큰 두 종류

RDBMS(SQL): 행/열이 정해진 데이터. 데이터의 일관성 및 분석이 용이함. MS-SQL, My-SQL 등 NoSQL: 딕셔너리 형식. 자유로운 형태로 데이터 적재하는데 유리함. MongoDB 등
12. pymongo에서 DB 조작하는 ‘pymongo’를 검색하여 mongoDB 프로그램을 조작하는 라이브러리 패키지를 추가 설치! pymongo 기본 코드 from pymongoimport MongoClient #파이몽고를 씁니다. (패키지 설치) client= MongoClient는 270, lient #파이몽고를 씁니다. (패키지 설치) client= MongoClientdb=client.dbsparta #dbsparta라는 이름의 db로 액세스합니다. 없으면 만들어서 접속합니다. pymongo 사용법. insert / 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}), {
바꾸기 – 겉보기 db.users.update_one (찾는 조건, {‘$set’: 어떻게 바꿀지}) # 변경 – 예 – 오타가 많으니 이 줄을 복사해서 씁시다!db . users . update _ one ( { ‘ name ‘ : ‘ bobby ‘ } 、 { ‘ $ set ‘ : { ‘ age ‘ : 19 } ) } )
削除 – 例示 db . users . delete _ one ( { ‘ name ‘ : ‘ bobby ‘ } )
13. 웹 스크랩의 결과를 저장하는 for 글을 이용하여 웹 스크랩 데이터를 추출하고 DB에 insert하여…
CF 별 리뷰 없음 이번 파이썬은 디톱이 아니라 노트북으로 해 봤다는 TMI