Um das Suchergebnis nur in einem Bereich von Datum festgelegt, gibt es 2 Möglichkeiten der Methode:Wie kann das Google-Suchergebnis in einem bestimmten Zeitraum analysiert werden?
1) mit Google-Suche Bediener das Google-Suche Stichwort Hinzufügen
&
2) Modellierung der URL (Hinzufügen des Suffix).
In meiner Java-Anwendung, würde Ich mag die Google News-Suchergebnisse kratzen (Link & Titel) in einem bestimmten Bereich von Datum von JSOUP, wie 2016
Allerdings habe ich versucht, diese 3 Möglichkeiten der Methode, keine von ihnen ist erfolgreich (enthalten Ergebnisse nicht-2016). Selbst, wenn ich diese 3 Methode im Google-Suchkasten (Google-Web site) ermüdete oder das URL-Suffix addiere, können sie die 2016 Resultate nicht aufspüren.
Wie behebt man das?
Durch das Hinzufügen Google-Suche Stichwort:
String search = "Stackoverflow daterange: 2016-01-01..2016-12-31"
String search = „Stackoverflow daterange: 2.457.389-2.457.735 "
url Hinzufügen:
+" & tbs = cdr% 3A1% 2Ccd_min% 3A1% 2F1% 2F2016% 2Ccd_max% 3A12% 2F31% 2F2016"
Code:
String google = "http://www.google.com/search?q=";
String search = "stackoverflow daterange:2016-01-01..2016-12-31 "; //using the google search operators (daterange)
String charset = "UTF-8";
String news="&tbm=nws";
String string = google + URLEncoder.encode(search , charset) + news;
String userAgent = "ExampleBot 1.0 (+http://example.com/bot)";
System.setProperty("http.proxyHost", "192.168.5.1");
System.setProperty("http.proxyPort", "1080");
for(int j=0;j<3;j++){
Document document = Jsoup.connect(string+"&start="+(j+0)*10).userAgent(userAgent). ignoreHttpErrors(true).followRedirects(true).timeout(100000).ignoreContentType(true).get();
Elements links = document.select(".r>a");
....}