我正在尝试制作Java Web Scrap,但我在代码中的某个地方迷路了 应该如何提取给定网页中的Name,Email和phone no并导出为纯文本。
我也在其中使用jsoup库。
但是无法弄清楚我该如何完成这项任务
这是我的代码的样子。
import org.jsoup.*;
import org.jsoup.helper.*;
import org.jsoup.nodes.*;
import org.jsoup.select.*;
import java.io.*; // Only needed if scraping a local File.
public class javaapplication6 {
public javaapplication6() {
Document doc = null;
try {
doc = Jsoup.connect("http://cs.qau.edu.pk/faculty.php/").get();
} catch (IOException ioe) {
ioe.printStackTrace();
}
Elements table = doc.getElementsByClass("tbl");
Elements rows = table.getElementsByTag("TR");
for (Element row : rows) {
Elements tds = row.getElementsByTag("TD");
for (int i = 0; i < tds.size(); i++) {
if (i == 1) System.out.println(tds.get(i).text());
}
}
}
public static void main (String args[]) {
new javaapplication6();
}
}```
答案 0 :(得分:1)
您没有在此处发布HTML代码。但是您可以像这样简单地实现所需的功能,
Document doc = Jsoup.connect("http://cs.qau.edu.pk/faculty.php/").get();
// If there is table id you can put that below -> table[id=tableid]
for (Element table : doc.select("table[id=]")) {
for (Element row : table.select("tr")) {
Elements tds = row.select("td");
System.out.println(tds.get(0).text() + "->" + tds.get(1).text() + "->" + tds.get(2).text());
}
}
答案 1 :(得分:0)
尝试以下代码以获取名称和详细信息,
connect(String URL)方法创建一个新的Connection,然后get()获取并解析HTML文件。
然后我们找到匹配的元素,然后使用foreach循环检索名称和详细信息。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class CsDotQauDotEduPk {
public static void main(String[] args) throws Exception {
Document doc = Jsoup.connect("http://cs.qau.edu.pk/faculty.php/").get();
Elements ele = doc.select("div.container td");
for (Element e : ele) {
Elements el = e.select("strong").eq(0);
Elements e2 = e.select("td p").eq(1);
final String name = el.text();
final String details = e2.text();
System.out.println(name+" >> "+ details);
}}}
输出:
博士Onaiza Maqbool >>电子邮件:onaiza@qau.edu.pk电话:+ 92-51-9064 2060
博士Khalid Saleem >>电子邮件:ksaleem@qau.edu.pk电话:+ 92-51-9064 2050
博士Shuaib Karim >>电子邮件:skarim@qau.edu.pk电话:+ 92-51-9064 2055
博士Rabeeh Ayaz Abbasi >>电子邮件:rabbasi@qau.edu.pk电话:+ 92-51-9064 2050
博士Ghazanfar Farooq >>助理教授
博士Muddassar Azam Sindhu >>电子邮件:masindhu@qau.edu.pk电话: + 92-51-9064 2066
博士Akmal Saeed Khattak >>电子邮件:akhattak@qau.edu.pk电话: + 92-51-9064 2161
博士穆罕默德·阿西姆·拉菲克>>
博士乌梅尔·拉希德(Umer Rasheed)>>
Memoona Afsheen Malik >>电子邮件:memoona@qau.edu.pk电话:+ 92-51-9064 2064
Ifrah Farrukh Khan >>电子邮件:(ifrahkhanqau@yahoo.com)电话: + 92-51-9064 2005
S。纳奇先生>>电子邮件:smnaqi@qau.edu.pk电话:+ 92-51-9064 2059