выводить содержимое сайта в строку кода Android - PullRequest
0 голосов
/ 08 января 2012

Я хотел бы прочитать URL-адрес веб-сайта и вывести html-код содержимого в строку. После этого я хотел бы искать URL-адреса в строке и выводить их в другую строку. В любом случае, я хотел бы помочь мне только с выводом HTML-кода в строку. Заранее спасибо. у меня есть следующий код. Это правильно

URL url = new URL("http://www.example.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);

Ответы [ 2 ]

0 голосов
/ 08 января 2012

Я бы порекомендовал hsml-анализатор Jsoup: http://jsoup.org/download вам нужен файл .jar.Если у вас есть это, захватить HTML довольно просто.Вы можете сказать

String html = Jsoup.connect("http://url.com").get().html();

Для поиска вашего URL-адреса используйте что-нибудь, чтобы пройти строку как обычную строку (например, класс Scanner, который прост в использовании).Чтобы использовать это, вы можете сделать: (конечно, посмотрите в API, чтобы понять это тоже, но здесь:)

Scanner in = new Scanner(html);
String links = "";
while(in.hasNext()){
    String line = in.nextLine();
    if(line.contains("yoursearchingkeyword") 
         links += line.substring(line.indexOf("http"),line.indexOf("</a>") + "\n";
}

Строка ссылок будет иметь ваши ссылки для вас там.

0 голосов
/ 08 января 2012

Я использовал библиотеку анализа иерихона , которая оказалась очень удобной. Я позволяет вам просматривать теги HTML документа и получать доступ к атрибутам тегов. Например, чтобы получить URL всех ссылок: (пожалуйста, проверьте точный синтаксис в документации)

Source source = new Source(new URL("http://...");
List<Element> elementList = source.getAllElements(); // loads all HTML tags in a list
    for (Element element : elementList) {
    if (element.getName().equals("A")) { // if <A> tag
    String segment = element.getContent().toString(); // will give you a string "< a href=...>...</A>
    String url = element.getAttributeValue("href"); // will return the url of the link
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...