【发布时间】:2019-05-17 02:28:53
【问题描述】:
我想刮“ulasan terbaru”下的评论文本,我认为这是javascript的结果(虽然我可能错了,我不完全确定如何检查它检查元素),除此之外,我也不确定 HTMLUnit 中的几件事
我已经阅读到 scrape 我需要使用 HTMLUnit 而不是 Jsoup 的 javascript 内容。我已阅读http://htmlunit.10904.n7.nabble.com/Selecting-a-div-by-class-name-td25787.html 以尝试scrape按类对 div 进行评论,但我的输出为零。
public static void comment(String url) throws IOException{
WebClient client = new WebClient();
client.setCssEnabled(true);
client.setJavaScriptEnabled(true);
try {
HtmlPage page = client.getPage(url);
List<?> date = page.getByXPath("//div/@class='list-box-comment'");
System.out.println(date.size());
for(int i =0 ; i<date.size();i++){
System.out.println(date.get(i).asText());
}
}
catch(Exception e){
e.printStackTrace();
}
}
这是我的代码中将处理评论抓取的部分,我做得对吗?但是我有两个问题:
- 在“asText()”中说“无法解析方法 asText()”
- 即使我在没有“asText()”的情况下运行,我也会将此视为错误:
com.gargoylesoftware.htmlunit.ObjectInstantiationException: unable to create HTML parser
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.<init>(HTMLParser.java:418)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.<init>(HTMLParser.java:342)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:203)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:179)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:221)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:106)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:433)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:311)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:373)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
at ReviewScraping.comment(ReviewScraping.java:86)
at ReviewScraping.main(ReviewScraping.java:108)
Caused by: org.xml.sax.SAXNotRecognizedException: Feature 'http://cyberneko.org/html/features/scanner/allow-selfclosing-iframe' is not recognized.
at org.apache.xerces.parsers.AbstractSAXParser.setFeature(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.<init>(HTMLParser.java:411)
... 11 more
我希望我能把所有的评论都显示出来
/edit 我在制作这个时使用 Intellij 作为我的 IDE,并且 HTMLUnit 的依赖项通过使用 Maven 在我的 Intellij 项目结构中
【问题讨论】: