我尝试解析html,并点击此链接;
http://thuoc.vn/Default.aspx?Mod=ViewDrugs&DrugsID=52016
我想阅读这段代码中的一些内容
<div class="tabContent" id="PillContent" style="display: block;">
<div class="headerinfo">Chỉ định:</div>
Viêm mũi dị ứng như hắt hơi, sổ mũi, ngứa mũi, ngạt mũi kèm kích ứng, ngứa họng, ho, giảm các triệu chứng mề đay mãn tự phát.
<div class="headerinfo">Chống chỉ định:</div>
Quá mẫn với thành phần thuốc.
<div class="headerinfo">Chú ý đề phòng:</div>
Trẻ < 12t. Có thai và cho con bú: không nên dùng
<div class="headerinfo">Tác dụng ngoài ý:</div>
Hiếm cảm giác mệt mỏi, khô miệng, nhức đầu, rất hiếm: nổi mẩn và phản vệ.
<div class="headerinfo">Liều lượng:</div>
Người lớn và trẻ >= 12t: uống 1 viên ngày 1 lần.
</div>
但是我看不懂任何东西。
我的代码。我只是尝试阅读div标签中的所有内容。
HtmlCleaner cleaner = new HtmlCleaner();
TagNode node = null;
try {
node = cleaner
.clean(new URL(
"http://thuoc.vn/Default.aspx?Mod=ViewDrugs&DrugsID=35318"));
for (Object o : node.evaluateXPath("//div")) {
System.out.println(((TagNode) o).getText());
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最佳答案
`
final HtmlCleaner mCleaner = new HtmlCleaner();
CleanerProperties props = mCleaner.getProperties();
props.setAllowHtmlInsideAttributes(true);
props.setAllowMultiWordAttributes(true);
props.setRecognizeUnicodeChars(true);
props.setOmitComments(true);
/*url from were data to be fetched*/
String mSiteUrl="http://www.example.com";
String mXPath="//div";
//TagnNode for storing data received from url
final TagNode mGetDataFromUrl; //Establish connection URL
url=new URL(mSiteUrl); final URLConnection
mCCon=url.openConnection(); mGetDataFromUrl=mCleaner .clean(new
InputStreamReader(mCCon.getInputStream())); //get to xpath from
were data is to be retrieve Object[]
mPageData=mGetDataFromUrl.evaluateXPath(mXPath); //validate object
if(mPageData.length>0) {
TagNode mXPathParsedData = (TagNode) mPageData[0];
// all text in div is in mData
Strign mData=mXPathParsedData .getText().trim(); }
`
这种方式希望对您有所帮助!谢谢。