[스파르타 코딩클럽]웹개발 종합반 3주차 개발일지 2021년 10월 25일~10월 31일

[수업목표] 1. 파이썬 기초문법을 알고 있다. 2. 원하는 페이지를 크롤할 수 있다. 3. pymongo를 통해 mongoDB를 제어할 수 있다.

[목차] (설치, 복습, 안내, 퀴즈, 숙제 제외) 05. 파이썬 기초공부 06. 파이썬 패키지 설치하기 07. 패키지 사용 보기 08. 웹스크래핑(크롤링) 기초 11. DB개괄 12. pymongo에서 DB 조작하기 13. 웹스크래핑 결과 저장하기

웹 스크래핑 DB 연습 숙제로 만든 것.

05. 파이썬 기초공부 06. 파이썬 패키지 설치 PyCharm 메뉴 파일 > Setings > Project : (하는 프로젝트) > Project Interprer > + 버튼

07.패키지 사용해보기 importrequests #requests 라이브러리 설치 필요

r=requests.get (‘API 주소’) rjson=r.json( )

print(rjson[‘~’][‘~’][~][‘~’])

08.웹스크래핑(크롤링) 기초’bs4′ 검색하여 beautifulsoup 4 패키지 추가설치! 크롤링 기본셋팅 importrequestsfrombs 4 import BeautifulSoup

타겟 URL을 읽고 HTML을 받아 headers={‘User-Agent}: ‘Mozilla/5.0(윈도우 NT10.0;Win64;x64) Apple WebKit/537.36(KHTML, likeGecko) 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 (‘#ID명’) soup.select (‘상위 태그명 > 하위 태그명’) ↑ 검사 > 해당 요소의 오른쪽 클릭 > Copy > Copyselector 단 브라우저에서 검사에 들어가 나오는 태그 순서와 파이썬 코드가 다를 수 있습니다! 그럴 때는 ↓ #태그와 속성값으로 찾을 경우 soup.select (‘) #1개만

태그 속 텍스트를 찍고 싶을 때는 → 태그.text 태그 속 속성을 찍고 싶을 때는 → 태그. [프로퍼티]여백이나 문자를 없앨 때는 → 태그.text.strip () 텍스트 앞에서 n개만 → 태그.text [0:n]

11. DB개괄 Database의 큰 2가지

RDBMS(SQL): 행/열이 정해진 데이터. 데이터의 일관성 및 분석에 용이함. MS-SQL, My-SQL 등 NoSQL: 딕셔너리 형태. 자유로운 형태의 데이터 적재에 유리함. MongoDB 등

12. pymongo에서 DB를 조작하는 ‘pymongo’를 검색하여 mongoDB 프로그램을 조작하는 라이브러리 패키지 추가 설치! pymongo 기본 코드 frompymongoimportMongo Client #파이몽고를 사용합니다. (패키지 설치) client = Mongo Client (‘localhost’, 27017) #mongoDB는 27017포트로 돌아갑니다.db=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}, {‘_id’: False}))

교환 – 보기 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.

error: Content is protected !!