无法使用HTMLCleaner解析HTML

时间:2015-11-04 10:09:18

标签: java html parsing htmlcleaner

我尝试解析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>

但是我无法读到这里的任何内容。

我的代码。我只是尝试阅读tag 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();
    }

2 个答案:

答案 0 :(得分:1)

`

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();   }

` 这种方式希望这对你有所帮助!感谢。

答案 1 :(得分:0)

<div class="tabContent" id="PillContent" style="display: block;">
<div class="headerinfo" style="font-weight: bold;color: #F14609;font-size: 12px;margin-bottom: 5px;margin-top: 15px;">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" style="font-weight: bold;color: #F14609;font-size: 12px;margin-bottom: 5px;margin-top: 15px;">Chống chỉ định:</div>
Quá mẫn với thành phần thuốc.
<div class="headerinfo" style="font-weight: bold;color: #F14609;font-size: 12px;margin-bottom: 5px;margin-top: 15px;">Chú ý đề phòng:</div>
Trẻ < 12t. Có thai và cho con bú: không nên dùng
<div class="headerinfo" style="font-weight: bold;color: #F14609;font-size: 12px;margin-bottom: 5px;margin-top: 15px;">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" style="font-weight: bold;color: #F14609;font-size: 12px;margin-bottom: 5px;margin-top: 15px;">Liều lượng:</div>
Người lớn và trẻ >= 12t: uống 1 viên ngày 1 lần.
</div>