
크롤링이란 ?
> 검색엔진이 내 사이트를 퍼가는 행위 이지만 내가 퍼가는 행위도 혼용가능 (원래 스크랩핑)
크롤링을 위한 패키지는 bs4
크롤리잉 가능한 이유는 ?
> 내가 이미 받아온 정보에 내가 솎아내는 것이 크롤링 'ㅅ'//
* 요청을 하는 것 - 코드 따내기 (requests)
* html 중 내가 원하는 정보를 잘 솎아낸 것 (bs4)




정보 가져올 사이트가서 검사 > tr/tr등으로 나눠진 구문 그대로 복사, 밑에 것도 복사 해둔 후 다른 부분 비교하고 다른 부분만 삭제하면 해당하는 정보가 다 나온다^ㅁ^
크롤링은 정답을 찾아가는 것이 아닌 되게 만드는 것 ;ㅅ;
사람마다 세운 전략이 다를 수 밖에 없다.

크롤링으로 뽑아 낸 정보를 저장을 도맡아서 하는 것은 데이터베이스!
mongoDB라는 프로그램은 참 특이한 친구예요. 눈으로 보이지 않는답니다.
유식한 말로, 그래픽인터페이스(=GUI)를 제공하지 않는다고 표현합니다.
데이터를 저장했는데 눈으로 보이진 않고.. 답답하겠죠?
그래서 **DB내부를 살펴보기 위한 프로그램**을 따로 설치해야해요.
→ 이것이 바로 robo3T의 역할!
Database에는, 두 가지 종류
RDBMS(SQL)
행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있습니다.
ex) MS-SQL, My-SQL 등
No-SQL
딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다.
ex) MongoDB
pymongo 코드 요약
# 저장 - 예시 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({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시 db.users.delete_one({'name':'bobby'})
'웹개발' 카테고리의 다른 글
| 오늘의 공부 flask (feat.framework) (0) | 2021.04.28 |
|---|---|
| 오늘의 공부 pymongo로 DB조작하기 (0) | 2021.04.23 |
| 오늘의 공부 - 파이썬 시작하기 (0) | 2021.04.21 |
| 오늘의 공부 API / Ajax (0) | 2021.04.15 |
| 오늘의공부 javascript복습 & JQuery (0) | 2021.04.12 |