서버를 사용하는 유저들의 수가 많으면 서버 부하가 걸리듯이, 스크래핑 서버에서 너무 많은 요청을 보내면 서버 부하가 걸린다
즉 서버에 요청을 보낼 때에는, 웹 서버에서 부하가 걸리지 않을 정도의 요청을 보내야 한다
주의사항
사이트의 데이터를 막 가져오면 안 된다!
데이터는 회사의 중요한 자산이다
스크래핑하는 웹 서버에 부하를 일으킬 수 있다
Robots.txt 를 확인한다
어떤 경로의 접근을 막는지 표시가 되어 있다 (Disallow)
Robots.txt가 없고, 스크래핑이 가능해도, 데이터를 가지고 올 때에는 요청 서버에 무리가 가지 않은 선에서 요청을 한다
Java로 Jsoup을 사용하여 스크래핑 하기
public class StockApplication {
public static void main(String[] args) {
try {
// 연결할 URL
Connection connection = Jsoup.connect("웹 사이트 URL");
// 연결된 URL을 get 요청으로 가지고 온다, post는 post()로
// Document로 return을 한다
Document document = connection.get();
// <table class="클래스이름" 속성이름=속성내용>내용</table>
// 해당 내용은 태그 안에 속성 이름과 내용을 가지고 와서, 그 태그 안에 있는 html문서를 가지고 오는 것
Elements elements = document.getElementsByAttributeValue("속성이름", "속성내용");
Element element = elements.get(0);
System.out.println(element);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}