若要仅在日期范围内设置搜索结果,有两种方法:
1)在google搜索操作符中添加google搜索关键字
&
2)对url进行建模(添加后缀)。
在我的Java应用程序中,我希望通过JSOUP在一个特定的日期范围内,例如2016年,在特定的日期中刮取google新闻搜索结果(链接和标题)
然而,我尝试了这3种方法,没有一种是成功的(包含非2016年的结果) .Even通过我厌倦了这3种方法在谷歌搜索框(谷歌网站)或添加url后缀,他们找不到2016年的结果。
怎么解决这个问题?
通过添加google搜索关键字:
String search = "stackoverflow daterange:2016-01-01.2016-12-31“ String search = "stackoverflow daterange:2457389-2457735“
添加url:
+"&tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2016%2Ccd_max%3A12%2F31%2F2016“
代码:
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");
....}
发布于 2017-06-13 15:11:30
我也遇到了同样的问题,结果发现它是JSoup 1.10.2版本中的一个bug。转到https://jsoup.org/download,抓取1.10.3,它应该会修复它。所有的功劳都归功于回答我问题的this guy。
https://stackoverflow.com/questions/41807980
复制相似问题