크롤링해도 되는지 확인하기 위해서
내가 원하는 사이트 url /robots.txt
(네이버: json 정보는 가져가도 됨)
(구글: search는 기본적으로 disallow지만, search아래 about, static, howsearchworks는 가져가도 됨)
이렇게 크롤링해도 되는 정보와 하면 안되는 정보들을 명시해줍니다.
필수는 아니고 권고사항정도
yes24
url 복사 후
public class JsoupUtil {
public static String getHtml(String url) {
Document doc= null;
try {
doc = Jsoup.connect(url).get();
return doc.html();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
}
public class Step1Main {
public static void main(String[] args) {
Step1Main sm = new Step1Main();
sm.process();
}
public void process() {
String url = "https://www.yes24.com/Mall/Main/Book/001?CategoryNumber=001";
String html = JsoupUtil.getHtml(url);
System.out.println(html);
}
}
url에 붙여넣기
소스 코드 출력된 것 확인
<main.html 파일 만들고, 그 파일에 소스 코드 넣기>
public class Step1Main {
public static void main(String[] args) {
Step1Main sm = new Step1Main();
sm.process();
}
public void process() {
String html="";
File main = new File("yes24/step1/main.html");
if(main.exists())
{
try {
html=Files.readString(Paths.get(main.toString()));
} catch (IOException e) {
e.printStackTrace();
}
}
else {
String url = "https://www.yes24.com/Mall/Main/Book/001?CategoryNumber=001";
html = JsoupUtil.getHtml(url);
try {
Files.write(Paths.get(main.toString()),html.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
step1폴더에 main.html 만들어진 것 확인
가정 살림 카테고리만 크롤링하기 위해
F12 - elements에서 가정 살림 부분 클래스(cate2d) 체크
위 코드(Step1Main)에 추가
String[] lines = html.split("\n");
for(String line: lines)
{
//cate2d
if(line.contains("<li class=\"cate2d"))
{
System.out.println(line);
}
}
cate2d 클래스만 출력된 것 확인
'자바' 카테고리의 다른 글
yes24 데이터 DB 넣기 (0) | 2024.08.19 |
---|---|
File (0) | 2024.08.11 |
maven (0) | 2024.08.09 |
톰캣 포트 변경하기 (0) | 2024.08.07 |
스레드. 배치파일 (0) | 2024.08.06 |