2015-12-21 57 views
0

我正在研究通過數據庫(特定紐約時報在線數據庫http://query.nytimes.com/search/sitesearch/#/McCain/from20061201to20080603/allresults/1/allauthors/oldest/)html代碼解析以查找某些關鍵字的項目,但它從Oracle獲取的代碼無法獲取完整的HTML。我已經能夠使用此代碼之前的其他項目,所以我不知道爲什麼它不讀取所有的HTML。在Java中獲取完整的HTML

謝謝:)

URL oracle = new URL("http://query.nytimes.com/search/sitesearch/#/McCain/from20061201to20080603/allresults/1/allauthors/oldest/"); 
    URLConnection yc = oracle.openConnection(); 
    yc.connect(); 
    BufferedReader in = new BufferedReader(new InputStreamReader(
           yc.getInputStream())); 
    System.out.println(yc.getContentType()); 
    String inputLine; 
    while ((inputLine = in.readLine()) != null) 
     System.out.println(inputLine); 
    in.close(); 
+1

你什麼意思「不工作」和「完整的HTML」呢? – pvg

+0

我的意思是我的項目只打印掉部分HTML,並且缺少我想要的HTML部分,我懷疑這是因爲該網頁正在加載 –

+0

對不起,太模糊了 –

回答

3

紐約時報搜索頁面使用網頁上的JavaScript來做出它返回的搜索結果爲JSON,然後被格式化爲HTML的API調用。由於您希望收集數據,因此使用此API可能是您想要的,並且具有無需以結構化,易於處理的格式抓取和返回數據的優勢。您將不得不通過使用瀏覽器的開發工具來了解API的工作原理,或者查看其他人是否記錄了它。這裏是「富」的簡單查詢的樣子 -

http://query.nytimes.com/svc/add/v1/sitesearch.json?q=foo&spotlight=true&facet=true

+0

非常感謝,但我如何將它設置爲在兩個不同的日期之間進行查看?我正在尋找它 –

+0

@KevinBender完全是一個完全不同的問題,我想我已經回答了你的第一個問題。 – pvg