【发布时间】:2019-07-21 23:23:22
【问题描述】:
我想从在线书店获取书名。不幸的是,它给我带来了这样的东西:
"title": "1 Jak mniej myśleć. Dla analizujących bez końca i wysoko wrażliwych"
我想去掉这个“1”,对于下一本书也是如此,因为下一本书会有 2、3、4 等......所以它应该与:
"title": "Jak mniej myśleć. Dla analizujących bez końca i wysoko wrażliwych"
我想知道是否可以使用 Jsoup 或者我只需要考虑 Java 代码。
这里是取这个标题的获取指令(我正在使用 for 循环,这就是它看起来像这样的原因)
document = Jsoup.connect(bestSellersEmpikURL).get();
List<Element> siteElements = document.select("div.productWrapper");
for (int i = 0; i < 5; i++) {
....
String title = siteElements.get(i).select("strong").first().text();
...
}
这里是网站:
<a href="/za-duzo-mysle-poradnik-dla-analizujacych-bez-konca-petitcollin-christel,p1222736270,ksiazka-p" class="img seoImage" title="Jak mniej myśleć. Dla analizujących bez końca i wysoko wrażliwych - Petitcollin Christel" rel="nofollow" data-product-id="p1222736270">
<img class="lazy" src="https://ecsmedia.pl/c/jak-mniej-myslec-dla-analizujacych-bez-konca-i-wysoko-wrazliwych-p-iext54318159.jpg" lazy-img="https://ecsmedia.pl/c/jak-mniej-myslec-dla-analizujacych-bez-konca-i-wysoko-wrazliwych-p-iext54318159.jpg" alt="">
</a>
<div class="name">
<a href="/za-duzo-mysle-poradnik-dla-analizujacych-bez-konca-petitcollin-christel,p1222736270,ksiazka-p" class="seoTitle" title="Jak mniej myśleć. Dla analizujących bez końca i wysoko wrażliwych - Petitcollin Christel" data-product-id="p1222736270">
<strong class="ta-product-title"><span class="blue-number">1</span>
Jak mniej myśleć. Dla analizujących bez końca i wysoko wrażliwych
</strong>
</a>
<div class="smartAuthorWrapper ta-product-smartauthor">
<a href="/szukaj/produkt?author=petitcollin+christel" class="smartAuthor" title="Petitcollin Christel - wszystkie produkty">
Petitcollin Christel </a>
</div>
<div class="categoryAndRatings">
<div class="category">
<span>
<span class="productMainInfoSuffix ta-product-category">Książki</span>
|
<span class="productMainInfoSuffix ta-product-carrier">
okładka miękka
</span>
</span>
</div>
<div class="rating">
<ul class="ratingStars">
<li class="rate">
<i class="fa fa-fw fa-star"></i>
...
【问题讨论】:
-
只需按照副本中的答案使用
String#replaceAll(...),但对其进行修改,使其仅捕获并删除前导数字。 -
@HovercraftFullOfEels ye,但我在问是否有任何选项可以从 html 标签中获取标题
-
将相关的 HTML 结构显示为问题中的代码格式文本,而不是链接。压缩它,这样我们就可以看到重要的事情。
-
@HovercraftFullOfEels 已编辑。所以它不是重复的,我没有要求在 Java 鳕鱼中这样做。
-
请查看编辑以回答可能更好的选择器