wget등을 이용한 구글 웹검색결과 다운로드 방법??
안녕하세요.
구글 검색결과를 파일로 저장하고 싶습니다.
예제는 다음과 같습니다.
#include
#include
#include
int main()
{
char wgetUrl[2048];
strcpy(wgetUrl, "http://www.google.co.kr/search?complete=1&hl=ko&q=dd&lr=&aq=t&oq=ddd");
execlp("wget", "wget", wgetUrl, "-O", "googleResult", "-o", "wgetmessage", NULL);
}
wget의 결과는 다음과 같습니다.
--10:13:53-- http://www.google.co.kr/search?complete=1&hl=ko&q=dd&lr=&aq=t&oq=ddd
Resolving www.google.co.kr... 64.233.189.104
Connecting to www.google.co.kr|64.233.189.104|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
10:13:54 ERROR 403: Forbidden.
403 Forbidden 오류로 다운로드가 되지 않습니다.
다음과 같이 해보면 네이버 검색결과는 오류없이 파일로 저장할 수 있습니다.
strcpy(wgetUrl, "http://search.naver.com/search.naver?where=nexearch&query=sdf&x=8&y=13&frm=t1&sm=top_hty");
이 오류를 해결할 방법이나 wget이외의 다른 파일다운로드 방법을 알려주셨으면 좋겠습니다.
Firefox와 같은 브라우저는 어떤 방법으로 구글에서 검색결과를 얻어오나요???
telnet으로 www.google.co.kr에 접속하려고해도 접속되지 않네요.
감사합니다.
User Agent 문제인것 같네요.
Wget 은 HTTP 요청을 보낼때 Header에
GET / HTTP/1.0
User-Agent: Wget/1.8.2
...
형식으로 User-Agent에 Wget/버젼 을 넣어서 요청을 보내는데
google은 아마 wget을 막아 놓았을겁니다.
이것을 Mozilla 등 일반 웹브라우져의 User-Agent로 바꿔서 해보세요.
wget에서 User-Agent를 바꾸는 옵션은
-U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.
입니다.
댓글 달기