2012-04-15 1 views
1

Для моего проекта мне нужно получить ежедневную статистику количества новостей (из новостей Google) по определенному ключевому слову. Но проблема в том, что результаты, полученные через браузер, совершенно отличаются от результатов, полученных через RCurl. Кажется, я скучаю по некоторым параметрам. То, что должно быть сделано? Большое спасибо за любой намек!Как получить точные страницы, найденные в Новостях Google (пользовательский агент от Curl не работает)?

вот код (не все, только RCurl варианты), но содержание DPage отличается от того, что браузер показывает :(:

require(RCurl) 
    theURL<-"http://www.google.com/search?tbm=nws&q=Putin&tbs=cdr:1%2Ccd_min%3A09.11.10%2Ccd_max%3A09.11.11&tbm=nws" 
    ch <- getCurlHandle() 
    curlSetOpt(curl = ch, 
       ssl.verifypeer = FALSE, 
       useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10", 
       timeout = 60, 
       followlocation = TRUE, 
       cookiejar = "./cookies", 
       cookiefile = "./cookies") 
DPage <- getURL(theURL, curl = ch) 
+0

Попробуйте пакет Rselenium для эмуляции броузера. http://johndharrison.github.io/RSelenium/ – marbel

ответ

1

Google имеет некоторые защиты для предотвращения автоматизированных запросов, которые не используют его пользовательский поиск API. Попробуйте использовать URL Bing поисковой системы, а не с вашим сценарием, они также обеспечивают щедрый пользовательский поиск API для разработчиков. http://www.bing.com/news/search?q=putin&p1=[NewsVertical+SortByDate%3d%221%22]&FORM=YGNR

или его complimentry RSS-канал, как это не будет предлагать никакого сопротивления считывания. http://api.bing.com/rss.aspx?Source=News&Market=en-GB&Version=2.0&Query=putin