Skip to content

Instantly share code, notes, and snippets.

@jtmuller5
Created March 6, 2020 19:00
Show Gist options
  • Save jtmuller5/b1d2353b976248aa9e000d8c1e1b561e to your computer and use it in GitHub Desktop.
Save jtmuller5/b1d2353b976248aa9e000d8c1e1b561e to your computer and use it in GitHub Desktop.
class SearchNews(var main: MainActivity) : AsyncTask<String, Void, String>() {
override fun doInBackground(vararg params: String): String {
var searchString = params.get(0)
val urlSearch = URLEncoder.encode(searchString,"UTF-8")
val url = "https://news.google.com/rss/search?q=$urlSearch&hl=en-US&gl=US&ceid=US:en"
var parseDoc = Jsoup.connect(url).parser(Parser.xmlParser()).get()
var items : Elements? = parseDoc?.select("item")
items?.forEach {
var title = it.getElementsByTag("title").html()
var link = it.getElementsByTag("link").html()
var pubDate = it.getElementsByTag("pubDate").html()
var description = it.getElementsByTag("description").html()
var innerDesc = Html.fromHtml(description)
var descList = Jsoup.parse(innerDesc.toString()).select("a")
Log.d("title",title.toString())
descList.forEach(){
var linkURL = it.attr("href")
try {
var deeperDoc = Jsoup.connect(linkURL).get()
var deeperDesc: Elements? = deeperDoc?.select("meta[name=\"description\"]")
var fullDesc = deeperDesc?.attr("content")
Log.d("link", linkURL)
Log.d("description", fullDesc.toString())
}catch(e:RuntimeException){
Log.d("error",e.toString())
}catch (e:IOException){
Log.d("error",e.toString())
}
}
var srcList = Jsoup.parse(innerDesc.toString()).select("font")
var src = srcList.html()
Log.d("source",src)
}
return "Added"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment