Java如何“扫描”网站(或页面)以获取信息,并将其带入我的程序?

好吧,我几乎想弄清楚如何从网页中提取信息,并将其带入我的程序(使用Java)。

例如,如果我知道我想要的信息的确切页面,为了简单起见,我会从该页面上获取我需要的适当信息?喜欢标题,价格,说明吗?

这个过程甚至被称为什么?我什至不知道要开始对此进行研究。

编辑:好的,我正在为JSoup(由BalusC发布的测试)运行测试,但是我一直收到此错误:

Exception in thread "main" java.lang.NoSuchMethodError: java.util.LinkedList.peekFirst()Ljava/lang/Object;

at org.jsoup.parser.TokenQueue.consumeWord(TokenQueue.java:209)

at org.jsoup.parser.Parser.parseStartTag(Parser.java:117)

at org.jsoup.parser.Parser.parse(Parser.java:76)

at org.jsoup.parser.Parser.parse(Parser.java:51)

at org.jsoup.Jsoup.parse(Jsoup.java:28)

at org.jsoup.Jsoup.parse(Jsoup.java:56)

at test.main(test.java:12)

我有Apache Commons

回答:

使用类似Jsoup的HTML解析器。我优先于Java中的其他HTML解析器,因为它像CSS选择器一样支持 jQuery。此外,它的代表节点列表类,工具,让你可以在遍历它增强的for循环(所以没有必要的麻烦与冗长而像一般的Java DOM解析器类)。Elements Iterable Node NodeList

这是一个基本的启动示例(只需将最新的Jsoup JAR文件放入类路径中):

package com.stackoverflow.q2835505;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

public class Test {

public static void main(String[] args) throws Exception {

String url = "https://stackoverflow.com/questions/2835505";

Document document = Jsoup.connect(url).get();

String question = document.select("#question .post-text").text();

System.out.println("Question: " + question);

Elements answerers = document.select("#answers .user-details a");

for (Element answerer : answerers) {

System.out.println("Answerer: " + answerer.text());

}

}

}

你可能已经猜到了,这会打印出你自己的问题以及所有答题者的姓名。

以上是 Java如何“扫描”网站(或页面)以获取信息,并将其带入我的程序? 的全部内容, 来源链接: utcz.com/qa/422800.html

回到顶部