2016-11-10 5 views
-1

Я хочу получить цены на продукт amazon, а затем поместить их в таблицу с ценой рядом со временем. Я пытаюсь использовать Jsoup для этого (и я очень новичок в этом) Это то, что у меня есть. я не могу даже получить цену, так это то, что мне нужно больше всего помощиЯ пытаюсь получить цены на Amazon с помощью Jsoup на Java

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package amazon; 

/** 
* 
* @author kennethkreindler 
*/ 
import java.io.IOException; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 
public class Amazonmain { 

    /** 
    * @param args the command line arguments 
    * @throws java.lang.Exception 
    */ 

    public static void main(String[] args) throws Exception { 
     String url = "http://www.amazon.de/DJI-CP-PT-000498-Mavic-Drohne-grau/dp/B01M0AVO1P/"; 
     Document document = Jsoup.connect(url).userAgent("Mozilla/17.0").get(); 

     String question = document.select("span.priceblock_ourprice"); 
     System.out.println("Price is" + question); 


     } 
    } 
+4

Как насчет просто с помощью [их] API (http://docs.aws.amazon.com/AWSECommerceService/latest/DG/EX_RetrievingPriceInformation.html)? – Filburt

ответ

2

У вас есть несколько вопросов здесь:

  1. Ваш агент пользователя устарел, так что вы получите совершенно другой ответ, чем вы ожидаете. Используйте более новый.
  2. document.select возвращает Element, а не String.
  3. Ваш адрес не является правильным. Используйте следующий код:

    String url = "http://www.amazon.de/DJI-CP-PT-000498-Mavic-Drohne-grau/dp/B01M0AVO1P/"; 
    Document document = Jsoup.connect(url).userAgent("Mozilla/49.0").get(); 
    Elements question = document.select("#priceblock_ourprice"); 
    System.out.println("Price is " + question.html());