我是Java新手,但我决定尝试制作一个小项目。我正在尝试从网站上进行一些网络抓取,我的问题是虽然我可以获得源材料,但我无法将“检查元素”材料打印出来。我查看过无数的视频,并在这里搜索,但无论如何,我只能制作一个程序打印出这个网页的源材料。我试图从表中获取信息,以便定价。 网页为“https://www.binance.com/trade.html?symbol=ZEC_BTC”。
我的基本计划是:
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;
import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class main {
public static void main(String[] args) throws
FailingHttpStatusCodeException, MalformedURLException, IOException {
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF); /* comment out to turn off annoying htmlunit warnings */
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.setJavaScriptTimeout(10000);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setTimeout(10000);
String url = "https://www.binance.com/trade.html?symbol=ZEC_BTC";
System.out.println("Loading page now: "+url);
HtmlPage page = webClient.getPage(url);
webClient.waitForBackgroundJavaScript(30 * 1000); /* will wait JavaScript to execute up to 30s */
String pageAsXml = page.asXml();
System.out.println(pageAsXml);
}
}
这里的想法是程序会加载网页,然后在打印之前等待加载javascript。任何帮助都将非常感激。我只需要包含要打印出来的价格的表格的javascript元素。谢谢。
答案 0 :(得分:0)
我只需要包含价格
的表格的javascript元素
您应该做的是使用its API。 (What is API and Why use it?)
API以格式化的方式返回您想要的内容(通常是JSON或XML),易于解析和读取。