Today I Learned

크롤링(스크래핑)과 MongoDB

리꾸엘메 2022. 2. 18. 18:10

<requests, beautiful soup>

크롤링(스크래핑)은 웹페이지의 여러 데이터 중 필요한 데이터만 가져오는 것 
requests는 url을 넣어 데이터를 가져오는 라이브러리이다.

- 자바스크립트 때 배운 Ajax같은 느낌이다. 사용법 또한 비슷하다.

json형식의 경우 원하는 데이터를 찾기 쉽지만(리스트형식이라)
보통의 웹페이지는 json형식이 아닌 html이다. 
그래서 BeautifulSoup이라는 라이브러리를 쓴다.
BeautifulSoup은 가져온 html 더미를 텍스트 형태로 저장한다. 

 

BeautifulSoup의 개념이 이해가 안돼서 시간이 오래걸렸다.

이해한 내용대로 정리를 해보자면,

.select()는 HTML더미에서 내가 찾는 부분을 찾아주는 코드이다.

() 안에는  copy selector나 속성값을 넣어준다. 

(copy selector는 해당 데이터의 HTML이 적힌 주소같은 느낌이다.)

 

* 라고 하는데 각각 언제 적용해야 되는 것인지 모르겠다. 

 

 

<mongoDB>

 

내 데이터를 저장해주는 클라우드이다. 

몇 개의 단축키가 있어서 간단한 코드로 클라우드 안에 담긴 데이터를 관리할 수 있다. 

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

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

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

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

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

 

* copy selector의 selector는 .class #id 와 같은 selector일까? 

'Today I Learned' 카테고리의 다른 글

정리의 중요성, 첫 미니프로젝트  (0) 2022.02.27
서버 (Flask프레임워크)  (0) 2022.02.23
처음 배우는 Python  (0) 2022.02.18
Jquery와 Ajax  (0) 2022.02.16
오늘의 깨달음  (2) 2022.02.16