2
JSoup을 통해 Google 검색 결과 목록을 얻으려고합니다. 현재 사용중인 방법은 첫 페이지 (n)에서는 완벽하게 작동하지만 n + 1 페이지에서는 제대로 작동하지 않습니다. 여기에 내가 첫 번째 페이지를 받고 있어요 방법은 다음 첫 페이지 https://www.google.com/search?q=apple
:JSoup로 Google 검색 결과 얻기
doc = Jsoup.connect(search).userAgent("Chrome").get();
links = doc.getElementsByClass("r");
검색 문자열은 같은 것을 포함됩니다. 그럼 내 코드는 N + 1 페이지 다음과 같습니다 https://www.google.com/#q=apple&start=10
: N + 1 페이지
for(int i = 1; i <= pages; i++){
search = "https://www.google.com/#q=" + keyword + "&start=" + (i*10);
doc = Jsoup.connect(search).userAgent("Mozilla").get();
links.addAll(doc.getElementsByClass("r"));
}
검색이 같이 보일 것입니다. 주요 문제는 n + 1 검색에서 doc.getElementsByClass("r")
에 요소가 없다는 것입니다. 즉, r
클래스는 JSoup이 반환하는 클래스에 존재하지 않습니다. doc.toString()
을 통해 검색하여이를 확인했습니다. 누구든지 어떤 제안이 있습니까?
감사합니다.
검색 결과를 구문 분석하지 말고 대신 API를 사용하는 것이 좋습니다. – Kayaman
@ 카야 만 어느 것? –
@ 카야 만 또한 내 연구 목적으로 API를 사용하지 않으려합니다. HTML을 구문 분석하는 방법에 대한 제안 사항은 무엇입니까? – Tommy