ID와 href를 가져와 모든 요소를 가져와야합니다 (그림에서 색상 상자로 표시). 경로를 정확히 파악하고 필요한 정보를 추출하는 방법을 정확히 모르겠습니다. 어떻게해야합니까? ID 및 관련 태그에 도착 후 속성으로 그들을 얻을 때까지 태그에 의해 선택Jsoup : 많은 요소 내에서 ID와 href를 얻는 방법
-1
A
답변
0
. 아래의 코드 스 니펫을 확인하십시오.
Document doc = Jsoup.parse("html_file");
Element loginform = doc.getElementById("search_result_container");
Elements inputElements = loginform.getElementsByTag("div");
Element secondDiv = inputElements.get(1);
Elements hyperLinks = secondDiv.getElementsByTag("a");
for (Element alink : hyperLinks) {
String href = alink.attr("href");
String id = alink.attr("id");
}
0
확인해 보았습니다. 그것은 작동! SUNNYben 덕분에, 당신은 나에게 올바른 의견을 주었다 !!!
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Steam_GameID_Links
{
public static void main(String[] args)
{
Steam_GameID_Links wc = new Steam_GameID_Links();
try
{
String url = "http://store.steampowered.com/search/?sort_by=_ASC&category1=998&page=1";
Document document = Jsoup.connect(url).get();
// nur die Spielnamen
Elements howMuchPages = document.select(".search_pagination_right");
String[] stuff = howMuchPages.text().split(" ");
String tmp = stuff[4].replace(" ", "").replace(".", "");
StringBuilder sb = new StringBuilder();
for(int i = 0; i < tmp.length(); i++)
{
if(Character.isDigit(tmp.charAt(i)))
{
sb.append(tmp.charAt(i));
}
}
String last = sb.toString().trim();;
int lastPages = Integer.parseInt(last);
int counter = 0;
for(int i = 1; i < lastPages + 1; i++)
{
url = "http://store.steampowered.com/search/?sort_by=_ASC&category1=998&page=" + i;
document = Jsoup.connect(url).get();
// waehlt zunaechst den ElternKnoten: <div id="search_result_container">
Element parentNode = document.getElementById("search_result_container");
Elements childNodes = parentNode.getElementsByAttribute("data-ds-appid");
for(Element alink : childNodes)
{
String href = alink.attr("href");
String id = alink.attr("data-ds-appid");
String name = alink.getElementsByClass("title").text();
System.out.println("Spiel: " + name + ", ID: " + id + ", SpieleLink: " + href);
// wc.writeSpielNameIDLink("Spiel: " + name + ", ID: " + id + ", SpieleLink: " + href + "\n");
}
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
:
그리고 여기 내 솔루션-코드입니다