2016-11-19 97 views
0

我想了解网站的更新频率以及我使用其标准搜索关键字搜索谷歌的详细信息,并获得期望的结果。如何解析谷歌的特定网站和日期范围?

查看网址https://www.google.co.in/search?q=site:www.codingeek.com&tbs=cdr:1,cd_min:10/11/2016,cd_max:19/11/2016

在我已经寻找codingeek网站的日期范围10 - 11月 - 2016年11月19日 - 2016年上述查询。

但是,当我尝试从我的Java程序中击中相同的URL时,它会忽略日期条件并发送正常结果。示例 - https://www.google.co.in/search?q=site:www.codingeek.com

我使用HttpClient client = HttpClientBuilder.create().setUserAgent("Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)").build();连接到该页面并使用JSoup解析和处理返回的HTML数据。

有没有什么办法可以解决这个问题,或者Google会在浏览器和程序中永不返回相同的值?

回答

0

尝试URLEncoder的

String url = "https://www.google.co.in/search?q=" 
      + URLEncoder.encode("site:www.codingeek.com", "UTF-8") 
      + "&tbs=" + URLEncoder.encode("cdr:1,cd_min:10/11/2016,cd_max:19/11/2016", "UTF-8"); 
+0

不过它给了相同的结果,而忽略日期(我抄你写的代码)。 –

+0

尝试谷歌自定义搜索API。 https://developers.google.com/api-client-library/java/apis/customsearch/v1 –

+0

为此,我需要一些密钥和内容,但仅限于某些网站,因为我的研究有限。 但是,在此期间,我尝试了使用htmlunit成功完成了这项任务,并给出了正确的结果。 –