本文介紹了解析表的第一行不起作用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我真的試了很多,也搜索了很多網站…
我試圖用jSoup從一個網站上解析價格,但不起作用。
我試用的是:
try {
String str1 = "https://www.google.de/shopping/product/3996339592576509511?hl=de&q=4250155834791&oq=4250155834791&gs_l=products-cc.3...4306.7625.0.8037.13.6.0.7.0.0.60.314.6.6.0...0.0...1ac.1.LgJKDfZQvls&sa=X&ei=eeqlUY2zFNT54QSyloCoDw&ved=0CFIQgggwAA&prds=scoring:p";
doc = Jsoup.connect(str3).get();
final Elements elements = doc.select("td:lt(1)");
String price = doc.select("span").first().text();
System.out.println(price);
System.out.println("Ende");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
目標應該是提取產品的最低價格。
示例-頁面:
https://www.google.de/shopping/product/3996339592576509511?hl=de&q=4250155834791&oq=4250155834791&gs_l=products-cc.3…4306.7625.0.8037.13.6.0.7.0.0.60.314.6.6.0…0.0…1ac.1.LgJKDfZQvls&sa=X&ei=eeqlUY2zFNT54QSyloCoDw&ved=0CFIQgggwAA&prds=scoring:p
我想解析向我顯示結果的第一行。
在這種情況下:eBay 24-trade365。
我需要商品的價格和指向供應商的鏈接。
有人能幫忙嗎?
推薦答案
如果您的表已經排序并且只需要第一行:
Element table=doc.getElementsByClass("os-main-table").first();
Element firstRow=table.select("tr[class=os-row").first();
Element seller=firstRow.select("td[class=os-seller-name]").first();
String sellerName=seller.text().trim();
String sellerLink=seller.getElementsByTag("a").first().attr("href");
String price=firstRow.select("td[class=os-price-col").first().getElementsByClass("os-base_price").text();
您可以在http://jsoup.org/cookbook/extracting-data/dom-navigation
中找到有關JSoup導航的教程
這篇關于解析表的第一行不起作用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,