我正在尝试使用 Richtext 来显示 html 内容,因此我解析了 url 并尝试获取 <div class="margin-box"></div>
中的所有内容为字符串值。
但我无法解析该网址。
代码如下:
User Soup 解析 url
Document document = Jsoup.parse(news_url);
String news_content = CommonUtil.newsContent(document);
数据采集
public static String newsContent(Document document){
Elements elements = document.select("div.margin-box");
String newsContent = elements.toString();
return newsContent;
}
显示 URL 解析失败。 实际上我想获得如下所示的值:
<div>
<p>
<imgsrc="http://p1.pstatp.com/large/1c67000332373537f0ff" img_width="640" img_height="360" inline="0" alt=“************” onerror="javascript:errorimg.call(this);">
</p>
<p class="pgc-img-caption”>***********</p><p>*************************************</p>
<p><imgsrc="http://p3.pstatp.com/large/1c6e0000841ab42ca326" img_width="640" img_height="425" inline="0" alt=“**********”onerror="javascript:errorimg.call(this);"></p>
<p class="pgc-img-caption”>********************************</p>
<p><img src="http://p1.pstatp.com/large/1c6d00008eebccce3e2f" img_width="550" img_height="375" inline="0" alt=“************” onerror="javascript:errorimg.call(this);"></p>
<p class="pgc-img-caption”>*********</p><p>**************************</p><p>*********************</p><p>*****************</p></div>
我做错了什么?
最佳答案
首先检查 JSoup 是否可以解析内容很有用:http://try.jsoup.org/~8W0oCmiiYnFL01nUM6HDbQ9wwTA
您正在使用 Jsoup.parse
expects html stored in a string 。如果你想使用 parse 来检索 html 源代码,你必须 pass a URL and a timeout :
String url = "http://servertrj.com/news/index/208";
Document doc = Jsoup.parse(new URL(url), 3000);
大多数时候,您会发现使用 get()
语法来提取 html 源代码,请将您的语法与以下简单示例进行比较:
String url = "http://servertrj.com/news/index/208";
String userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36";
Document doc = Jsoup.connect(url).userAgent(userAgent).get();
Elements elements = doc.select(".margin-box");
System.out.println(elements.size() + "\n" + elements.toString());
输出:
1
<div class="margin-box">
<p style="margin: 0px 0px 15px; padding: 0px; border: 0px; line-height: 30px; font-family: "Microsoft YaHei;, SimSun, Verdana, Arial; color: rgb(0, 0, 0); font-size: 15px;">[... truncated because of spam detection, but same as try.jsoup]</p>
</div>
关于java - Android 使用 JSoup 解析 HTML 转换为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44982229/