Java 网站抓取与Jsoup初学者
我正试图使用jsoup来抓取一个网站。我使用源HTML中的class.eventTableRow将表行提取到Elements对象中,但我不确定如何访问各个单元格。我正在尝试获取单元格中的数据,如下图中的方框所示:Java 网站抓取与Jsoup初学者,java,html,parsing,dom,jsoup,Java,Html,Parsing,Dom,Jsoup,我正试图使用jsoup来抓取一个网站。我使用源HTML中的class.eventTableRow将表行提取到Elements对象中,但我不确定如何访问各个单元格。我正在尝试获取单元格中的数据,如下图中的方框所示: Elements row = doc.select(.eventTableRow); System.out.println(row); //prints similar to below image : 我不能上传这张照片,因为我没有声誉 我知道对你们中的许多人来说,这是最基本的,我
Elements row = doc.select(.eventTableRow);
System.out.println(row);
//prints similar to below image :
我不能上传这张照片,因为我没有声誉
我知道对你们中的许多人来说,这是最基本的,我肯定会得到jsoup文档的链接,但我已经阅读并尝试了几个小时,但无法让它为我工作
例如,我尝试过:
Elements result = race.select("[attr^=712]");
//im attempting to find all atributes beginning 712 but it doesn't work
Elements result = race.select(".o bgc co");
//im attempting to find the cells with this class
还有很多人,我真的不知道如何实现文档中的说明,这对我来说很难理解,我也找不到任何基本的教程
学习其他方面的知识能帮助我更好地理解jsoup文档吗,也许XML、DOM、解析HTML等等,这些都是我一直在谷歌搜索的东西
谢谢你的帮助
p、 s如果有人制作了一本关于使用jsoup进行抓取或使用java进行抓取的白痴指南,我相信它会非常流行。您可以迭代所有TD元素,下面是一个工作示例:
package my.test;
import java.util.Iterator;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTest1 {
public static void main(String[] args) {
Document doc = Jsoup.parse("<table><tr class='eventTableRow'><td id='1' class='class1'>value1</td><td id='2' class='class2'>value2</td><td id='3' class='class3'>value3</td></tr></table>");
Elements row = doc.select(".eventTableRow td");
Iterator<Element> iterator = row.listIterator();
while(iterator.hasNext())
{
Element element = iterator.next();
String id = element.attr("id");
String classes = element.attr("class");
String value = element.text();
System.out.println("Id : " + id + ", classes : " + classes+ ", value : " + value);
}
}
}
速写:
for(Element f : e.select("[id^=code_]")) {
System.out.println("printed out links: " + f.select("*").text());
}
基本思想是,每个元素都有一个以“code”开头的id,选择该元素中的所有内容并打印出来 您可以循环所有TD元素和您正在查找的只读元素。同意,但我将如何构造循环。我不理解允许我这么做的语法。我是在和孩子们打圈吗?节点?我读了很多书,但看不懂这些文档。Thx读了这么多,做了一件好事:我能问一下,有没有可能解释一下这一行--“Iterator Iterator=row.listIterator;”我试图搜索jsoup文档,但无法理解。
for(Element f : e.select("[id^=code_]")) {
System.out.println("printed out links: " + f.select("*").text());
}