Как ввести строку для URL в Java? - PullRequest
0 голосов
/ 26 апреля 2019

Я создаю веб-сканер, чтобы получать результаты поиска из craigslist для школьного проекта.Я пытаюсь принять пользовательский ввод для поискового запроса и добавить его для завершения URL-адреса.

Эта функция не нужна для отправки проекта, но я хотел бы знать, как заставить эту функцию работать.

public static void main(String[] args) throws IOException{
    String incomSite1 = "\"https://houston.craigslist.org/search/sss?query=";
    System.out.println("What would you like to search for?");
    Scanner userIn = new Scanner(System.in);
    String srchItem = userIn.nextLine();
    String comSite = incomSite1 + srchItem + "\"";

    final String url = "https://houston.craigslist.org/search/sss?query=computer";

    try {
        final Document results = Jsoup.connect(url).get();

        System.out.println(results.outerHtml());
    }
    catch (Exception ex) {
        ex.printStackTrace();
    }
}

Эта часть кода, которую я должен очистить сайт для результатов поиска и отобразить HTML.

Если я просто скопирую / вставлю URL из браузера в «окончательный URL-адрес строки»= "без всего остального кода, тогда он работает нормально.

Однако, когда я использую Scanner, incomSite1, srchItem & comSite для заполнения" final String url ", я получаю следующие ошибки:

java.lang.IllegalArgumentException: Malformed URL: "https://houston.craigslist.org/search/sss?query=computer"
    at org.jsoup.helper.HttpConnection.url(HttpConnection.java:136)
    at org.jsoup.helper.HttpConnection.connect(HttpConnection.java:76)
    at org.jsoup.Jsoup.connect(Jsoup.java:73)
    at CraigCrawl.main(CraigCrawl.java:21)
Caused by: java.net.MalformedURLException: no protocol: "https://houston.craigslist.org/search/sss?query=computer"
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at org.jsoup.helper.HttpConnection.url(HttpConnection.java:134)

1 Ответ

0 голосов
/ 26 апреля 2019

Попробуйте удалить Double Qoutes из начала и конца URL.поскольку url уже является строкой, вам не нужно добавлять эти кавычки

...