본문 바로가기

cs,코딩,알고리즘/스파르타코딩(불꽃대학반)웹개발일지

#3. 스파르타 3주차 개발일지(파이썬, 크롤링)

728x90

1. 파이썬

파이썬은 일종의 번역 패키지

근데 이것도 pycharm으로 실행한다?... 진짜 물어봐야 하나... 저번에 자바스크립트도 나는 이클립스로 했었는데 무슨차이인지 진자 궁금하다....

정말정말 다행인건 작년 1학기 전공,,기억할 수 있으려나 매우 걱정했지만 그래도 다 까먹지는 않았다..ㅋㅋㅋ 파이썬이 워낙 직관적이라서 그런가ㅋㅋ

 

2. 크롤링

네이버나 구글에서 내온 데이터를 쫙 뽑아 쓰는 것을 말한다.

크롤링을 하는 파이썬 패키지는 beautifulsoup4(bs4)

->크롤링이 가능한 이유/기술은? 브라우저 키지 않고 request로 요청/ bs4(beautifulsoup4)로 솎아내기

 

그래서 크롤링의 포인트는

1) 코드를 따서 요청하는 것(requests 패키지)

2)요청해서 가지고 온 html중에 원하는 정보를 뽑아내는 것(beautifulsoup패키지)

 

->뽑아쓰는 방법중에는 select랑 selece_one이 있다.

data로 요청을 받아오면 솎아내기 좋은 bs4형태로 만들어서 print한거임
속성, 텍스트, html순으로 결과가 나온 거임 

속성만 뽑아낼거면 print(title['href'])

텍스트만 뽑아낼 거면 print(title.score)

네이버 영화 랭킹에서 크로링해서 밑에처럼!!
완성~!
타이틀은 a_tag에서 뽑아쓰지만, 한줄한줄이 다 tr로 돌아가기 때문에 랭크, 별점은 tr로

->순번이미지, 영화제목, 평점을 크롤링 해야한다. 이것도 홈페이지에서 오른쪽 버튼-검사에서 어느부분에 해당하는지 잘 보고 어느 부분만 꺼내서 쓰는지를 알면 끝! 결국 뽑아내느냐가 중요!!! 막 그렇게 어렵지는 않은 듯?

 

3. DB(크롤링한 데이터 저장공간)_Robo3T

DB를 쓰는 이유는 데이터 보관이 아니라 데이터 사용!!

2가지 종류의 DB->SQL : 액셀형태(행과 열을 정해)여서 정형화된, 일관된 데이터로 분석하기 쉬워

2가지 종류의 DB->NoSQL(Not only): 딕셔너리 형태로 데이터가 다 다름

SQL에는 오라클 mySQL, NoSQL에는 mongoDB가 대표적임

mongoDB는 우리 눈에 보이지 않는 데이터베이스(쌓이는 거임), robo3T는 우리 눈에 보이게끔 해주는 거

내가 DB를 설치하다니 뭔가 데이터를 사용 할 수 있다는 감격이 든다!!..(오바한다 또;;ㅋㅋㅋ)

3-1. pymongo로 DB조작/ 저장하기

파이썬으로 mongo조작하려면 남이 만들어놓은 pymongo라이브러리 이용!

저장도 요 3줄만 쓸 줄 알면 된다! 밑에가 기본 코드

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

기억해야할 것)

insert  db.users.insert_one({'name':'bobby','age':21})<-'users'라는 collection에 {'name':'bobby','age':21}를 넣는다

find    all_users = list(db.users.find({}))<-모두보기  same_ages = list(db.users.find({'age':21},{'_id':False})) <-조건에 맞는 얘만 보기

update  db.people.update_many(찾을조건,{ '$set': 어떻게바꿀지 }) 요런 느낌,, 예시로는 db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

delete    db.users.delete_one({'name':'bobby'})

그리고 마지막 print대신 insert로!

오호야...싱기방기..

그래서 아까 했던 영화 정보들 저장하려면 일단 위에 기본적으로 넣어야 하는 3줄 넣어주고,

doc처리(숫자랑 문자 구분!)

파이썬을 작년 1학기에 수업을 들어서 그런지 2주차 수업보다 훠어어얼씬 수월했다. 코딩을 몽탱이로 잘 나눠서 보는 것과 뽑아내는 걸 좀 더 연습...해봐야겠다... 그리고 데이트 저장하는 것도 넘나 신기했다..!!.. 처음봐서 복잡해보이는 거지 다음에 할 떄 보면 쉽게 할 수 있을 것 같다.

스터디

드디어 연결이 됬다!!! firefox 브라우저로 했더니 연결이 됬다. 왜 내 노트북 크롬이 안되는거지?..

그래도 덕분에 유투브로, 네이버로 게더타운 좀 찾아봐서 내적 친밀감이 엄청 쌓였다..ㅋㅋ 다음학기에 학회 모임을 줌말고  게더타운으로 해보는거 어떠냐고 회장님한테 얘기해봐야징ㅋㅋㅋ

 

https://www.notion.so/3-ed5a2f9b258b4ac6bb63b95c3af4f6a5#999777aca64b4e9f832d620dc9acd0c0

 

[스파르타코딩클럽] 웹개발 종합반 - 3주차

매 주차 강의자료 시작에 PDF파일을 올려두었어요!

www.notion.so