我有一个网页抓取工具,使用html“tr”
中的标记来抓取文本我可以成功检索数据,但我想将它添加到数组或字符串中,因为我需要从中选择特定的元素。
目前正在进行中:
public HtmlParser(Properties configuration) throws IOException {
String url = configuration.getProperty("url");
Document doc = Jsoup.connect(url).get();
// this.doc = doc;
this.dataString = new String();
Elements tableRows = doc.getElementsByTag("tr");
for (Element tr : tableRows){
dataString.add(tr.text());
}
将返回我需要的文字,如下所示:
[航班时间93%,1小时内99%,飞行到离开现场状态,FR 9083伯恩茅斯阿利坎特10:10 13:35登陆19:00,FR 1902克拉科夫都柏林10:45 12:55预计抵达23:05,ATC DELAY,FR 1402 Shannon Tenerife Sth 11:15 15:15预计抵达19:53,从SHANNON机场开始运营。旅客将被送往香港机场。
我想将上述文本返回到适用的数组或字符串中。
上面的文字,我收到一个编译错误说
The method add(String) is undefined for the type String
当我尝试将for循环的每个iteraton中的数据添加到字符串中时我得到上面的编译错误,并且我尝试使用.add和.append但它不起作用。 我该如何解决这个问题?
此外,我的下一步是通过运算符“,”和可能的空格分割字符串。
如果我拆分文本,它需要进入一个数组,还是一个字符串会做?如果是的话,我该怎么做?
我是一个相当新的java,我正在学习,因为我去了这里,所以任何人都可以给我的任何帮助将不胜感激。
我还要根据关键字等特定条件选择任何涉及的字符串。如何做到这一点?
答案 0 :(得分:1)
您可以使用StringBuilder或StringBuffer
的append方法http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html
如果你想最好使用哪一个 然后看到这个 Difference between StringBuilder and StringBuffer
答案 1 :(得分:0)
我很确定你可以使用StringBuilder类。这可能会好一点。这是一个链接到某人问过类似的东西。
In Java, how to append a string more efficiently?
如果这是问题,我的预算不足100%,因为在某些情况下,我可能不对。但我非常确定exampleString.add只适用于ArrayList,但我可能错了,至少在Java中。我想你应该尝试连接字符串。
您也可以尝试
exampleString.append
希望有所帮助。