Donnie Ibiyemi
Donnie Ibiyemi

Reputation: 1001

Scrape Html in Android

I need to scrape a url in my android app. The url returns this block of Html code below:

  <div id="main">
   <div id="header">
    <form action="/search_db.php" id="f1" method="GET">
    <div style="float:left; width:829px;">
    <span style="margin:15px;"><a href="http://mp3skull.com/"><img    src="http://mp3skull.com/img/logo.jpg" border="0" alt="mp3skull.com - mp3 downloads"    style="vertical-align:middle;" /></a></span>
    <input type="text" name="q" id="sfrm" autocomplete="off" value="feel good inc gorillaz"   style="font-size:18px; vertical-align:middle; width:470px;"> 
    <input type="hidden" name="fckh" value="c1935e9a779034dec31fe7117c456eb8">
    <input type="submit" id="search_button" value="Search" style="font-size:18px; vertical-align:middle;">
    </div>
    <div style="float:left; text-align:right;">
    </div>
    <div style="clear:both;"></div>
    </form><script type="text/javascript">document.getElementById('sfrm').focus();InstallAC(document.getElementById('f1'), document.getElementById('sfrm'), document.getElementById('search_button'), '', 'en');</script>
</div>

Kindly show me an example of how to extract the values of the returned html code in java

Upvotes: 1

Views: 478

Answers (1)

Ken de Guzman
Ken de Guzman

Reputation: 2820

Using jsoup.

Document doc = Jsoup.connect("http://your/url/here").get(); // or Jsoup.parse(htmlString);
Elements header = doc.select("#header"); //access to <div id="header">...</div>
    Elements inputs = header.select("input");
    for(Element input : inputs){
        System.out.println(input); //print <input>....</input>
        System.out.println(input.attr("id")); //printing attribute id
    }

Upvotes: 2

Related Questions