gpt4 book ai didi

java - 使用 jsoup 解析表格

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:58 25 4
gpt4 key购买 nike

我正在尝试使用 jsoup 从 linkedin 个人资料中提取电子邮件地址和电话号码,这些信息中的每一个都在一个表中。我已经编写了一个代码来提取它们,但它不起作用,该代码应该适用于任何 linkedin 配置文件。非常感谢任何帮助或指导。

public static void main(String[] args) {
try {

String url = "https://fr.linkedin.com/";
// fetch the document over HTTP
Document doc = Jsoup.connect(url).get();

// get the page title

String title = doc.title();
System.out.println("Nom & Prénom: " + title);
// first method
Elements table = doc.select("div[class=more-info defer-load]").select("table");
Iterator < Element > iterator = table.select("ul li a").iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next().text());
}
// second method
for (Element tablee: doc.select("div[class=more-info defer-load]").select("table")) {
for (Element row: tablee.select("tr")) {
Elements tds = row.select("td");
if (tds.size() > 0) {
System.out.println(tds.get(0).text() + ":" + tds.get(1).text());
}
}
}
}
}

这是我试图提取的 html 代码示例(取自 linkedin 配置文件)

<table summary="Coordonnées en ligne">
<tr>
<th>E-mail</th>
<td>
<div id="email">
<div id="email-view">
<ul>
<li>
<a href="mailto:adam1adam@gmail.com">adam1adam@gmail.com</a>
</li>
</ul>
</div>
</div>
</td>
</tr>
<tr class="no-contact-info-data">
<th>Messagerie instantanée</th>
<td>
<div id="im" class="editable-item">
</div>
</td>
</tr>
<tr class="address-book">
<th>Carnet d’adresses</th>
<td>
<span class="address-book">
<a title="Une nouvelle fenêtre s’ouvrira" class="address-book-edit" href="/editContact?editContact=&contactMemberID=368674763">Ajouter</a> des coordonnées.
</span>
</td>
</tr>
</table>
<table summary="Coordonnées">
<tr>
<th>Téléphone</th>
<td>
<div id="phone" class="editable-item">
<div id="phone-view">
<ul>
<li>0021653191431&nbsp;(Mobile)</li>
</ul>
</div>
</div>
</td>
</tr>
<tr class="no-contact-info-data">
<th>Adresse</th>
<td>
<div id="address" class="editable-item">
<div id="address-view">
<ul>
</ul>
</div>
</div>
</td>
</tr>
</table>

最佳答案

要抓取电子邮件和电话号码,请使用 css 选择器来定位元素标识符。

    String email = doc.select("div#email-view > ul > li > a").attr("href");
System.out.println(email);

String phone = doc.select("div#phone-view > ul > li").text();
System.out.println(phone);

参见 CSS Selectors获取更多信息。

输出

mailto:adam1adam@gmail.com
0021653191431 (Mobile)

关于java - 使用 jsoup 解析表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com