【发布时间】:2017-05-22 20:26:30
【问题描述】:
我正在尝试解析 google 搜索结果的 HTML 以获取每个结果的标题。这是通过 android 在如下所示的私有嵌套类中完成的:
private class WebScraper extends AsyncTask<String, Void, String> {
public WebScraper() {}
@Override
protected String doInBackground(String... urls) {
Document doc;
try {
doc = Jsoup.connect(urls[0]).get();
} catch (IOException e) {
System.out.println("Failed to open document");
return "";
}
Elements results = doc.getElementsByClass("rc");
int count = 0;
for (Element lmnt : results) {
System.out.println(count++);
System.out.println(lmnt.text());
}
System.out.println("Count is : " + count);
String key = "test";
//noinspection Since15
SearchActivity.this.songs.put(key, SearchActivity.this.songs.getOrDefault(key, 0) + 1);
// return requested
return "";
}
}
我尝试解析的示例网址:http://www.google.com/#q=i+might+site:genius.com
由于某种原因,当我运行上述代码时,我的计数打印为 0,因此结果中没有存储任何元素。任何帮助深表感谢!附言docs 确实已初始化,并且 HTML 页面正在正确加载
【问题讨论】:
标签: java android web-scraping jsoup google-search