我正在使用此代码检索此页面主要文章中的文本。
public class HtmlparserExampleActivity extends Activity {
String outputtext;
TagFindingVisitor visitor;
Parser parser = null;
private static final String TAG = "TVGuide";
TextView outputTextView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
outputTextView = (TextView)findViewById(R.id.outputTextView);
String id = "main-article-content";
Document doc = null;
try {
doc = Jsoup.connect("http://movies.ign.com/articles/100/1002569p1.html").get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("DOC", doc.toString().toString());
Elements elementsHtml = doc.getElementsByTag(id);
String[] temp1 = new String[99];
int i =0;
for(Element element: elementsHtml)
{
temp1[1] = element.text();
i++;
outputTextView.setText(temp1[1]);
问题是 TextView 中没有显示任何内容。我试图检索的文本都没有出现。 Log.i 与调试日志中的段一起显示。所以我知道它连接成功。只是不知道为什么我在 TextView 中没有收到任何文本。
最佳答案
以下是您问题相关性的简化摘录:
Document doc = Jsoup.connect("http://movies.ign.com/articles/100/1002569p1.html").get();
Elements elementsHtml = doc.getElementsByTag("main-article-content");
// ...
你在这里犯了一个根本性的错误。没有像 <main-article-content>
这样的 HTML 标签在文档中。但是,有一个 <div id="main-article-content">
.根据 CSS 选择器概述大约一半 Jsoup cookbook , 你应该使用 #id
选择器。
Document doc = Jsoup.connect("http://movies.ign.com/articles/100/1002569p1.html").get();
Element mainArticleContent = doc.select("#main-article-content").first();
// ...
关于java - 如何使用 jsoup 从这个 html 页面获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016599/