Java를 사용하여 Google 검색 쿼리 결과의 HTML을 검색하려고합니다. 즉, 특정 구문에 대해 Google.com에서 검색을 수행하면 결과 웹 페이지의 HTML (해당 설명, URL 등을 포함하여 가능한 일치 항목에 대한 링크가 포함 된 페이지)을 검색하고 싶습니다.검색 엔진 쿼리 결과의 HTML을 검색하려면 어떻게합니까?
import java.io.*;
import java.net.*;
import java.util.*;
public class Main {
public static void main (String args[]) {
URL url;
InputStream is = null;
DataInputStream dis;
String line;
try {
url = new URL("https://www.google.com/#hl=en&output=search&sclient=psy-ab&q=UCF&oq=UCF&aq=f&aqi=g4&aql=&gs_l=hp.3..0l4.1066.1471.0.1862.3.3.0.0.0.0.382.1028.2-1j2.3.0...0.0.OxbV2LOXcaY&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=579625c09319dd01&biw=944&bih=951");
is = url.openStream(); // throws an IOException
dis = new DataInputStream(new BufferedInputStream(is));
while ((line = dis.readLine()) != null) {
System.out.println(line);
}
} catch (MalformedURLException mue) {
mue.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
is.close();
} catch (IOException ioe) {
// nothing to see here
}
}
}
}
에서 :이 코드에 사용 된 URL은에서 구글 검색 쿼리를 수행하여 얻은 How do you Programmatically Download a Webpage in Java
는 내가 관련 포스트에서 볼 수있는 다음 코드를 사용하여이 일을 시도 Google 홈페이지. 어떤 이유로 웹 브라우저의 URL 표시 줄에서 검색하고자하는 문구를 작성한 다음 그 결과 검색 결과 페이지의 URL을 403 오류가 발생하면 이해하지 못합니다.
그러나이 코드는 검색 쿼리 결과 페이지의 HTML을 반환하지 않았습니다. 대신 Google 홈페이지의 소스 코드를 반환했습니다.
Google 검색 결과의 소스 코드를 보려면 검색 결과 페이지의 배경을 마우스 오른쪽 버튼으로 클릭하고 "페이지 소스보기"를 선택하여 소스 코드와 비교해보십시오. Google 홈페이지의 두 가지 모두 동일합니다.
검색 결과 페이지의 소스 코드를 보는 대신 (Ctrl + S를 눌러서) 검색 결과 페이지의 HTML을 저장하면 내가 찾고있는 HTML을 얻을 수 있습니다.
Java를 사용하여 검색 결과 페이지의 HTML을 검색하는 방법이 있습니까?
감사합니다.
모든 정보를 제공해 주셔서 감사합니다. Google API를 살펴 보겠습니다. 그러나 Java 코드가 원하는 결과를 반환하지 않는 이유를 알고 싶습니다. 내가 사용한 코드로 원래 게시물을 업데이트하고 403 오류를 생성하지 않은 URL을 어떻게 얻었는지에 대한 설명을 추가했습니다. 이게 더 이해할 수 있기를 바랍니다. – Erich
@ Kyndod7 편집에 대한 알림을 받는지 확실하지 않지만 질문에 답변했습니다. 왜 프로그래밍 방식으로 Google에서 내 대학 이름을 검색하려고합니까? :) –
정말 고마워요! 코드를 테스트 할 때 무작위로 UCF를 선택합니다. 내 대학이기도합니다. – Erich