我正在尝试使用jsoup从西班牙语词典中提取数据。本质上,用户将输入他想要定义为命令行参数的单词,程序将返回格式化的定义列表。以下是我到目前为止所做的事情:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[] args) {
String[] urls = new String[args.length];
for(int i=0; i<args.length; i++) {
urls[i] = "http://www.diccionarios.com/detalle.php?palabra="
+ args[i]
+ "&Buscar.x=0&Buscar.y=0&Buscar=submit&dicc_100=on&dicc_100=on";
try{
Document doc = Jsoup.connect(urls[i]).get();
Elements htmly = doc.getElementsByTag("html");
String untokenized = htmly.text();
System.out.println(untokenized);
}catch (Exception e) {
System.out.println("EXCEPTION: Word is probably not in this dictionary.");
}
}
}
}
该url数组给出了正确的url,其中定义的信息是。
现在,如果你去try.jsoup网站并使用(例如)这个:http://www.diccionarios.com/detalle.php?palabra=libro&Buscar.x=0&Buscar.y=0&Buscar=submit&dicc_100=on&dicc_100=on,那么我期望返回的是你会得到的。 作为链接并输入html作为CSS查询。我需要这些数据,所以我可以从中对这个定义进行标记。
所以我想我的问题是,我将使用什么方法来获取您在try.jsoup网站上看到的相同数据。非常感谢!
编辑:这是关于解释网址中的数据。我想要的最终结果数据(在这个例子中)是“Conjunto de hojas escritas unidas o cosidas por uno de sus lados y cubiertas por tapasdecartónuotro material。”这是网站上的定义。但是,我注意到在try.jsoup网站上,如果我将html文本放在CSS查询框中,那么结果就是一大堆文本。我的假设是以下两行代码将捕获这一大量文本并将其保存为字符串:
Elements htmly = doc.getElementsByTag("html");
String untokenized = htmly.text();
然而,当我打印未标记时的输出是这样的:“UsuarioClave¿Olvidastetu clave?CondicionesPrivacidadVersióncompleta©2011 Larousse Editorial,SL。”所以我的问题是,如何获取try.jsoup网站上发现的大量文本的字符串数据?
编辑:我在这里遵循了问题的建议:Jsoup - CSS Query selector issue (?)并且效果很好。