웹개발

오늘의 공부 python 패키지 사용 & 크롤링 패키지

RAN318 2021. 4. 22. 22:01
728x90
반응형

requests 패키지 사용해보기

크롤링이란 ? 

 > 검색엔진이 내 사이트를 퍼가는 행위 이지만 내가 퍼가는 행위도 혼용가능 (원래 스크랩핑)

 

크롤링을 위한 패키지는 bs4

 

크롤리잉 가능한 이유는 ?

 > 내가 이미 받아온 정보에 내가 솎아내는 것이 크롤링 'ㅅ'//

 * 요청을 하는 것 - 코드 따내기 (requests)

 * html 중 내가 원하는 정보를 잘 솎아낸 것 (bs4)

 

headers를 붙이는 이유 : 브라우저에서 엔터 친 것 마냥 효과내준다
속석을 가지고 올떄는 [] 꺽쇠사용! 텍스트는 .text!

정보 가져올 사이트가서 검사 > 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'})

728x90
반응형