【发布时间】:2016-02-14 23:17:34
【问题描述】:
我想在 html 中获取下一个具有相同名称类的元素。 html标签就像:
html:
<section class="post">
<img class="pecintakomik" src="/images/top/op.jpg" alt="pecintakomik.com" />
<div class="post-cnt">
<h2>Manga bla bla</h2>
<ul>
<li><strong>Nama Alternatif:</strong> </li>
<li><strong>Tahun Rilis:</strong> 2010</li>
<li><strong>Author(s):</strong> sensei1
<li><strong>Artist(s):</strong> sense2</li>
<li><strong>Genre:</strong> Action</li>
<li><strong>Sinopsis:</strong> bla bla bla </li>
<li><span class='st_facebook_hcount' displayText='Facebook'></span> <span class='st_twitter_hcount' displayText='Tweet'></span> <span class='st_sharethis_hcount' displayText='ShareThis'></span></li>
</ul>
</div>
<div class="clear"> </div>
</section>
<img src="http://www.pecintakomik.com/images/block.png">
<section class="post">
<div class="post-cnt">
<h2>List Chapter(s)</h2>
<ul>
<li><a href="/manga/bla_bla/816"> bla bl 816 <img src="/images/new.gif"><em>Baca Online </em></a></li>
<li><a href="/manga/bla_bla/815"> bla bla 815<em>Baca Online </em></a></li>
<li><a href="/manga/bla_bla/814"> bla bla 814<em>Baca Online </em></a></li>
<li><a href="/manga/bla_bla/813"> bla bla 813<em>Baca Online </em></a></li>
</ul>
</div>
</section>
我的代码是获取列表漫画的href链接(并将其存储在sqllite上),但我无法获取:
java代码:
private List<Chapter> parseHtmlToChapters(RequestWrapper request, String unparsedHtml) {
int beginIndex = unparsedHtml.indexOf("<div class=\"post-cnt\">");
int endIndex = unparsedHtml.indexOf("</div>", beginIndex);
String trimmedHtml = unparsedHtml.substring(beginIndex, endIndex);
Document parsedDocument = Jsoup.parse(trimmedHtml);
List<Chapter> chapterList = scrapeChaptersFromParsedDocument(parsedDocument);
chapterList = setSourceForChapterList(chapterList);
chapterList = setParentUrlForChapterList(chapterList, request.getUrl());
chapterList = setNumberForChapterList(chapterList);
saveChaptersToDatabase(chapterList, request.getUrl());
return chapterList;
}
private List<Chapter> scrapeChaptersFromParsedDocument(Document parsedDocument) {
List<Chapter> chapterList = new ArrayList<Chapter>();
Element chapterElementnya = parsedDocument.select("div.post-cnt").get(1);
Elements chapterElements = chapterElementnya.getElementsByTag("li");
for (Element chapterElement : chapterElements) {
Chapter currentChapter = constructChapterFromHtmlBlock(chapterElement);
chapterList.add(currentChapter);
}
return chapterList;
}
private Chapter constructChapterFromHtmlBlock(Element chapterElement) {
Chapter newChapter = DefaultFactory.Chapter.constructDefault();
Element urlElement = chapterElement.select("a").first();
Element nameElement = chapterElement.select("a").first();
if (urlElement != null) {
String fieldUrl = "http://www.pecintakomik.com" + urlElement.attr("href");
newChapter.setUrl(fieldUrl);
}
if (nameElement != null) {
String fieldName = nameElement.text();
newChapter.setName(fieldName);
}
boolean fieldNew = chapterElement.html().contains("<img src=\"/images/new.gif\">");
newChapter.setNew(fieldNew);
return newChapter;
}
请问有谁知道如何获取同名的二等舱名单?
【问题讨论】: