[Selenium(셀레늄) 사용하기] 그전에 사용했던 Requests와 BeautifulSoup는 HTML문서를 가져오고 Parsing하는 역할을 했습니다.Selenium은 조금더 업그레이드 해서 브라우저를 가동시켜 HTML문서를 객체화 시킵니다.직접 브라우저를 가동시키면 어떤점이 다르냐.웹페이지를 작동시킨 이 후, 나중에 구동되는 Javascript 이 후의 내용도 볼 수 있습니다. 웹페이지가 최초 동작한 이 후, HTML DOM (구조)이 바뀌는 경우에 필수적이죠.실제로 해외축구 사이트 (프리미어리그, 라리가)와 같은 순위표를 보여주는 사이트에 들어가서 순위를 클릭해보면최초로 보여지는 테이블 이 후, 현재 순위에 맞게 순위가 정렬되는 걸 아주 찰나에 확인해 볼 수 있습니다. 이런 경우에는 실제로 페이..
[크롤링을 위한 Tool] 크롤링을 위해서 HTML문서를 가져오는 작업이 필요합니다. 1. Requests Requests로 원하는 페이지의 HTML문서를 불러올 수 있습니다.먼저 python 라이브러리로 requests를 설치 합니다. pip install requests(Mac 이용자는 python3를 이용할 시 pip3로 다운로드) import requests req = requests.get('https://importer.ec21.com/shoe.html') ## HTML Sourcehtml = req.text ## HTTP Headerheader = req.headers ## HTTP Status (200이면 성공응답)status = req.status_code ## HTTPis_ok = re..
[크롤링이란?] 인터넷에 데이터가 방대해지면서 우리는 그걸 활용할 필요성이 높아졌습니다. 그런 정보들을 우리가 분석하기 쉽고 활용하기 쉽게 끔 데이터를 수집하는 행위를 크롤링(Crawling) 이라고 하고 크롤링하는 프로그램을 크롤러(Crawler) 라고 합니다. 원하는 데이터를 추출하는 스크래핑(Scraping)과 개념이 혼동되기도 하는데요.사실 크롤링의 정확한 정의는 다양한 웹사이트의 페이지를 브라우징하는 작업을 말합니다.그런데 사실상 정보를 수집하기 위해선 브라우징만 하지 않죠. 페이지 안에 있는 데이터를 추출해서 가공하는게 대부분 최종 목표입니다.결국 크롤링 => 스크래핑의 과정으로 넘어가는 거죠.그래서 이 두 개념이 혼용되는 것 같습니다. 해외에서는 주로 스크래핑이라고 쓰는 걸로 알고 있습니다...
[Web은 무엇일까?] Web 이란 단어를 많이 들어보셨을 겁니다. 웹어플리케이션, 웹사이트, 홈페이지... 웹이라는 단어를 떠올렸을 때, 따라오는 단어들.Web이란 정확하게 무엇일까요? Web은 World Wide Web (www)을 줄여서 쓰고 있습니다.Web = World Wide Web 그럼 World Wide Web은 무엇일까요?홈페이지의 주소 맨 앞에 쓰는 www는 많이 봤어도 정확하게 뭘 의미하는지는 모릅니다. World Wide Web의 이름이 탄생하기 전에 팀 버너스리(Tim Berners-Lee) 는 하이퍼텍스트 시스템을 만듭니다.하이퍼텍스트 시스템은 어떤 사람이 다른 사람의 문서를 보고싶을 때 바로 확인할 수 있는 시스템이죠.원하는 문서를 보고 싶다면?맞습니다. '컴퓨터'와 '통신시스..
[NoSQL] 시간이 지날수록 데이터의 양은 방대해지고 있습니다.과거에는 개인이 아닌 기업들이 수집하는 데이터의 양은 어느정도 한정되어 있었고 일정한 틀에 맞춰 데이터를 저장함으로써 사용하기 편하게 만들었습니다. 그 산물이 SQL 언어를 사용한 RDBMS (관계형 데이터베이스 관리 시스템) 이죠.하지만 데이터의 양이 방대해지고 유입과 유출이 많아지면서 이러한 관리 시스템은 비효율적이라는 걸 알게 됐습니다.다양한 데이터가 발생하면서 그 틀에 맞춰 수집하기에는 한계가 있었던 것이죠.그래서 등장한 것이 NoSQL입니다. [그림1] 데이터 양의 증가폭. 플랫폼이 많아지면서 개인이 데이터를 생산할 수 있는 시대가 왔고 때문에 데이터의 양이 증가할 수 밖에 없다.(그림참조 http://thegioi360.vn/po..
[Database] 정보를 통합 저장해 운영할 수 있는 시스템을 말합니다.Database에 있는 정보들은 사용자들이 사용(편집)할 수 있으며 추가, 삭제도 할 수 있습니다.물론 모든 유저가 Database에 있는 정보를 사용할 수 있는 건 아닙니다.권한을 부여한 뒤 접근제한을 설정할 수 있습니다. 이런 특징이 Database의 가장 큰 장점이기도 합니다. 데이터베이스는 오랜 역사를 자랑합니다.그렇기 때문에 다양한 시스템과 그 시스템을 만든 기업들이 있죠.최근 NoSQL이 떠오르기 전에는 관계형 DBMS (DataBase Management System)가 주류를 이뤘습니다.먼저 RDMBS (Relational DataBase Management System)에 대해서 알아보겠습니다. [RDBMS, 관계형..
[문제] 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다.어피치는 여러 압축 알고리즘 중에서 성능이 좋고 구현이 간단한 LZW(Lempel–Ziv–Welch) 압축을 구현하기로 했다. LZW 압축은 1983년 발표된 알고리즘으로, 이미지 파일 포맷인 GIF 등 다양한 응용에서 사용되었다.LZW 압축은 다음 과정을 거친다.길이가 1인 모든 단어를 포함하도록 사전을 초기화한다.사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다.w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다.입력에서 처리되지 않..
[문제]튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다.숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다.10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 첫 자리인 1, 열두 번째 사람은 둘째 자리인 0을 말한다.이렇게 게임을 진행할 경우, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, … 순으로 숫자를 말하면 된다.한편 코딩 동아리 일원들은 컴퓨터를 다루는 사람답게 이진수로 이 게임을 진행하기도 하는데, 이 경우에는 0, 1, 1, ..
[풀이를 위한 개념] [9663번]N-Queen 포스팅을 참고하세요. (클릭시 해당 포스트가 새창으로 열립니다.) [풀이과정] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include using namespace std; int n;bool a[15][15];int ans = 0; bool check(int row, int col) //퀸의 이동영역에 겹치는지 확인하는 함수{ for(int i =0;i=0 && y>=0) { if(a[x][y] == true) { return fal..
시간복잡도는 계산시간의 표준이 되는 단위입니다. 계산이 빠른 알고리즘이 훨씬 더 유리하므로 그만큼 시간복잡도의 계산은 중요하게 여겨집니다. 계산은 컴퓨터 하드웨어 CPU 프로세서를 통해서 이뤄지는데, 당연히 CPU의 성능이 좋으면 계산속도가 빨라집니다.그 말은 하드웨어에 따라서 계산속도가 달라질 수 있다는 뜻이 되고, 하드웨어 성능과 관계없이 알고리즘 자체 비교를 위한 표준이 필요한데 이를 시간복잡도라고 합니다.이와 비슷한 개념으로 공간복잡도가 있습니다. 공간복잡도는 메모리 효율이 얼마나 좋은가에 대한 표준으로 보통 시간복잡도와 반비례합니다. [시간복잡도 계산방법] 시간복잡도는 계산해야 할 횟수 n에 비례합니다.12345678910#include using namespace std; int main(){..
- logistic regression
- query string
- neural network
- Express
- Linear Regression
- Queue
- 크롤러
- Crawler
- DFS
- Crawling
- 딥러닝
- BFS
- 재귀
- 알고리즘
- 머신러닝
- 크롤링
- softmax
- LR
- Machine Learning
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |