Java提取维基百科信息

问题描述 投票:0回答:1

我是新来的Jsoup,您能帮我从此Wikipedia页面中提取信息,使其仅具有“星级”吗?页面的结构(摘要)是这样的:

<table class="infobox vevent" style="width:22em;font-size:90%;"><tbody><tr><th colspan="2" class="summary" style="text-align:center;font-size:125%;font-weight:bold;font-size:110%;font-style:italic;">Pulp Fiction</th></tr><tr><td colspan="2" style="text-align:center"><a href="/wiki/File:Pulp_Fiction_(1994)_poster.jpg" class="image"><img alt="Pulp Fiction (1994) poster.jpg" src="//upload.wikimedia.org/wikipedia/en/3/3b/Pulp_Fiction_%281994%29_poster.jpg" decoding="async" width="220" height="327" class="thumbborder" data-file-width="220" data-file-height="327" /></a><div style="font-size:95%;padding:0.35em 0.35em 0.25em;line-height:1.25em;">Theatrical release poster</div></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Directed by</th><td><a href="/wiki/Quentin_Tarantino" title="Quentin Tarantino">Quentin Tarantino</a></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Produced by</th><td><a href="/wiki/Lawrence_Bender" title="Lawrence Bender">Lawrence Bender</a></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Written by</th><td>Quentin Tarantino</td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Story by</th><td><div class="plainlist">
<ul><li>Quentin Tarantino</li>
<li><a href="/wiki/Roger_Avary" title="Roger Avary">Roger Avary</a></li></ul>
</div></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Starring</th><td><div class="plainlist">
<ul><li><a href="/wiki/John_Travolta" title="John Travolta">John Travolta</a></li>
<li><a href="/wiki/Samuel_L._Jackson" title="Samuel L. Jackson">Samuel L. Jackson</a></li>
<li><a href="/wiki/Uma_Thurman" title="Uma Thurman">Uma Thurman</a></li>
<li><a href="/wiki/Harvey_Keitel" title="Harvey Keitel">Harvey Keitel</a></li>
<li><a href="/wiki/Tim_Roth" title="Tim Roth">Tim Roth</a></li>
<li><a href="/wiki/Amanda_Plummer" title="Amanda Plummer">Amanda Plummer</a></li>
<li><a href="/wiki/Maria_de_Medeiros" title="Maria de Medeiros">Maria de Medeiros</a></li>
<li><a href="/wiki/Ving_Rhames" title="Ving Rhames">Ving Rhames</a></li>
<li><a href="/wiki/Eric_Stoltz" title="Eric Stoltz">Eric Stoltz</a></li>
<li><a href="/wiki/Rosanna_Arquette" title="Rosanna Arquette">Rosanna Arquette</a></li>
<li><a href="/wiki/Christopher_Walken" title="Christopher Walken">Christopher Walken</a></li>
<li><a href="/wiki/Bruce_Willis" title="Bruce Willis">Bruce Willis</a></li></ul>
</div></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Cinematography</th><td><a href="/wiki/Andrzej_Seku%C5%82a" title="Andrzej Sekuła">Andrzej Sekuła</a></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Edited by</th><td><a href="/wiki/Sally_Menke" title="Sally Menke">Sally Menke</a></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;"><div style="padding:0.1em 0;line-height:1.2em;">Production<br />companies </div></th><td><div style="vertical-align:middle;"><div class="plainlist">
<ul><li><a href="/wiki/A_Band_Apart" title="A Band Apart">A Band Apart</a></li>
<li><a href="/wiki/Jersey_Films" class="mw-redirect" title="Jersey Films">Jersey Films</a></li></ul>
</div></div></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;">Distributed by</th><td><a href="/wiki/Miramax_Films" class="mw-redirect" title="Miramax Films">Miramax Films</a></td></tr><tr><th scope="row" style="white-space:nowrap;padding-right:0.65em;"><div style="padding:0.1em 0;line-height:1.2em;white-space:normal;">Release date</div></th><td><div class="plainlist">
<ul><li>May&#160;21,&#160;1994<span style="display:none">&#160;(<span class="bday dtstart published updated">1994-05-21</span>)</span>&#32;(<a href="/wiki/1994_Cannes_Film_Festival" title="1994 Cannes Film Festival">Cannes</a>)</li>

[例如,我不提取罗杰·阿瓦里(Roger Avary)怎么能吸引约翰·特拉沃尔塔?]

我以这种方式尝试过,但是我无法将attributes

加注星标,并且只能提取它们。在我的代码中,我提取了表中的所有文本,但是我只想要由“ Starring”属性标识的字符。
public static void main(String[] args) throws IOException {
final Document document = Jsoup.connect("https://en.wikipedia.org/wiki/Pulp_Fiction").get();
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=Attore;integratedSecurity=true;";
for(Element row : document.select("table.infobox li a")) {

     String at = row.text();
     System.out.println(at);
}

谢谢

我是使用Jsoup的新手,您可以帮助我从此Wikipedia页面中提取信息,以便仅具有星号名称吗?页面的结构(总结)是这样的:

java html jsoup screen-scraping
1个回答
0
投票

这使用在线可用的Java库来解析HTML。该库的文档可以是Google列出的JAR文件包的文档。免责声明,我帮助开发Java-HTML。

© www.soinside.com 2019 - 2024. All rights reserved.