tf.data.Dataset.from_tensor_slices 함수는 tf.data.Dataset 를 생성하는 함수로 입력된 텐서로부터 slices를 생성합니다. 예를 들어 학습데이터로 (60000, 28, 28)가 입력되면, 60000개의 slices로 만들고 각각의 slice는 28×28의 구조의 데이터를 갖게 됩니다. 위코드는 1차원구조의 데이터셋을 생성함
dataset.window는 3개의 인자를 전달받는데 window_size와 shift, drop_remainder
파이썬으로 request.get을 통해 웹을 크롤링하던 도중 원하는 데이터가 크롤링되지않아 처음엔 당황스러웠다.
하지만 크롤링이 되지않는 이유는 get방식으로 웹이 동작하는게 아니라 post방식을 통해 작동하기 때문이었다.
이를 확인하는 방법은 크롤링할 웹사이트로 이동할때 주소창이 변할경우 get방식으로 작동하고
주소창이 바뀌지않을경우 post방식으로 작동한다는것을 알수있다.
특징
GET 방식은 다음과 같은 특징이 있습니다.
- 클라이언트가 입력한 값이 URL과 결합되어 스트링 형태로 서버에 전달됩니다 - 서버의 DB에 정보를 요청하는 것이 아니라 해당 웹페이지에서 보여지는 그대로를 가져오는 것입니다. - 한번 요청시 데이터 양에 제한이 있습니다.
POST 방식은 다음과 같은 특징이 있습니다.
- 클라이언트와 서버 간에 스트링 형태로 그대로 서버에 전달되지 않고 인코딩이라는 과정을 거칩니다. - 헤더를 통해 요청이 전송되는 방식입니다. 이 때문에 GET 방식과 같이 URL이 노출되지 않습니다. - 요쳥시 GET 보다 더 많은 양의 정보를 교환할 수 있습니다. - 페이지에서 날짜를 설정하고 조회하기 버튼을 눌렀을 때 서버는 DB에서 해당 기간에 해당되는 정보를 불러와 우리에게 보여줍니다. 이 때 사용하는 방식이 바로 POST 방식입니다. 조회하기 버튼을 눌렀을 때 URL 이 client 에게 노출이 되지 않으며, GET방식에 비해 더 많은 양의 정보를 받아올 수 있다는 장점이 있습니다.
실습
>>> import requests
크롤링할 데이터는 바이낸스에서 상위트레이더의 포지션을 실시간으로 크롤링하는 프로그램을 짜보겠습니다.