Ich habe Jsoup verwendet, um den Aktienchart von Yahoo! Finance zu kratzen. Das Scraped Stock Chart ist übrigens Alibaba. Der Grund, warum ich mich für Alibaba entschieden habe, ist einfach, weil ich möchte, dass es wächst. .. ..
@Controller
public class YahooFinanceController {
private static final String YAHOO_FINANCE_URL = "https://stocks.finance.yahoo.co.jp/us/detail/BABA";
@RequestMapping("/")
public String index(Model model) {
Document YahooDoc = null;
String imgSrc = null;
try {
YahooDoc = Jsoup.connect(YAHOO_FINANCE_URL).get();
Elements img = YahooDoc.select("div.styleChart img");
imgSrc = img.attr("src");
} catch (IOException e) {
e.printStackTrace();
}
model.addAttribute("imgSrc", imgSrc);
return "index";
}
}
<body>
<img th:src="${imgSrc}" title="Alibaba Aktienkurs!" />
</body>
Speichert den in der URL angegebenen HTML-Code. Der Methodenname lautet connect (). In diesem Fall wird das Dokument beispielsweise wie folgt angegeben.
Document YahooDoc = Jsoup.connect(YAHOO_FINANCE_URL).get();
Wenn dies auf der Konsole angezeigt wird, wird der gesamte HTML-Code der angegebenen Seite angezeigt! Es ist wunderbar.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<title>Alibaba Group Holding [BABA]: Aktien/Standard Preis- Yahoo!Finanzen</title>
<meta charset="utf-8">
<meta name="description" content="Aktienkurs der Alibaba Group Holding [BABA]. Deckt Aktienkurse, Charts, Performance usw. aller an der NYSE (New York Stock Exchange) und der NASDAQ notierten Aktien ab. Die japanischen Aktien und Rankings von ADR sind ebenfalls beachtlich.">
<meta name="keywords" content="Standard Preis,Dow,Nasduck,Amerika,Rangfolge">
...Kürzung...
<meta property="og:description" content="Aktienkurs der Alibaba Group Holding [BABA]. Deckt Aktienkurse, Charts, Performance usw. aller an der NYSE (New York Stock Exchange) und der NASDAQ notierten Aktien ab. Die japanischen Aktien und Rankings von ADR sind ebenfalls beachtlich.">
<meta property="og:title" content="Alibaba Group Holding [BABA]: Aktien/Standard Preis- Yahoo!Finanzen">
...Unten weggelassen
Speichert die Elemente aus dem oben erhaltenen Dokumentobjekt. Der Methodenname lautet select (). In diesem Fall wird Element beispielsweise wie folgt angegeben.
Elements img = YahooDoc.select("div.styleChart img");
Ich erhalte das img-Tag in der styleChart-Klasse des div-Tags. Wenn dies auf der Konsole angezeigt wird,
<img src="https://chart.yahoo.co.jp/?code=BABA&tm=1d&size=e" alt="Diagrammbild">
Sie können den Wert des durch attr () angegebenen Attributs aus dem Element-Objekt abrufen. Dieses Mal wird das src-Attribut des img-Tags in einer Variablen namens imgSrc vom Typ String gespeichert.
String imgSrc = img.attr("src");
Wenn dies auf der Konsole angezeigt wird,
https://chart.yahoo.co.jp/?code=BABA&tm=1d&size=e
model.addAttribute("imgSrc", imgSrc);
return "index";
Es stellt sich heraus, dass es überraschend leicht zu kratzen ist. das ist alles. Vielen Dank für das Lesen bis zum Ende.
Scraping der Website mit jsoup How to parse for image src using JSOUP?my Thymeleaf conditional img src
Recommended Posts