我正在尝试从eBay出售的清单中提取清单的名称和价格。但是,我的以下代码似乎不起作用:

   public static void main(String[] args) throws IOException {
        Document document = Jsoup.connect("https://www.ebay.com/sch/i.html?_from=R40&_nkw=PSA+10+silver+prizm+rookies&_sacat=0&LH_TitleDesc=0&rt=nc&LH_Sold=1&LH_Complete=1").get();
            String index = "li#srp-river-results-listing1";
            Elements listings = document.select(index); // Each box contains the deal info
            //System.out.println(listings);
            String listingName = listings.select("h3.s-item__title s-item__title--has-tags").text();
            //for (int j = 0; j < listingName.length() - 1; j++) {
                //if(listingName.charAt(j) == '?') {
                    //System.out.println("This listing is wrong.");
                //}
            }
            System.out.println(listingName);
        }


我可以打印清单,但清单名称。我怀疑我输入的名称错误-但我不知道如何解决。如果我更换

String listingName = listings.select("h3.s-item__title s-item__title--has-tags").text();




String listingName = listings.text();


它将为我提供li元素内的所有文本,这些文本我不需要-我只需要列表的名称和售价。

最佳答案

我只是尝试使用css选择器,并且意识到应该选择"li#srp-river-results-listing1"而不是"a.s-item__link > h3"

10-06 09:55