2012-11-16 3 views
0

Google 검색 상위 URL을 얻기 위해 스크립트를 작성했습니다. 이 스크립트의 가장 큰 문제점 중 하나는 내 IP를 기반으로 검색 결과가 반환된다는 것입니다. 말하자면, 나는 시카고에 있는데, 미국이 아닌 시카고로부터 결과를 반환하고 있습니다. 나는 사용자 에이전트와 관련이 있다는 것을 알았습니다 :C# Httpwebrequest Useragent

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 

    request.Accept = "application/x-ms-application, image/jpeg, application/xaml+xml,   image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"; 

    request.Headers["Accept-Language"] = "en-US"; 
    request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"; 

    request.KeepAlive = true; 
    request.AllowAutoRedirect = true; 
    request.Timeout = 60000; 

    request.Method = "GET"; 

왜 내가 지역 검색을하고 있는지에 대한 아이디어가 있습니까?

+2

나는 사용자 에이전트 때문에 그럴 수 있다고 생각합니다. 전달 된 API 및 매개 변수를 확인하고자 할 수 있습니다. 일부 위치 또는 지역 매개 변수가 누락되어 IP를 기반으로 현재 위치를 차지할 수 있습니다. – ryadavilli

+0

API를 사용하고 있습니까, 아니면 화면을 스크래핑하고 있습니까? – Greg

+0

사용자 에이전트와 관련이 없습니다. Google은 일반적으로 위치를 IP로 지정하므로 시카고에있는 경우 시카고에서 결과를 얻습니다. 프록시를 거친 경우 예상되는 결과를 기반으로 결과를 얻을 수 있습니다 해당 프록시의 IP 위치. – Rafael

답변

1

http://support.google.com/websearch/bin/answer.py?hl=en&answer=179386 상태로 검색 쿼리에 직접 위치를 지정하여 자동 위치 감지를 무시할 수 있습니다. 귀하의 Google 도메인 이외의 지역에 대한 결과를 보려면

는 [ 자전거 수리 파리]와 같이 검색어에 위치를 지정하거나 다른 Google 로컬 도메인 대신를 방문하십시오.