我正在為沒有官方 API 但希望該應用程式從他的網站提取視頻鏈接的客戶撰寫應用程式,因此我使用 jsoup 撰寫了一個邏輯。除了某些鏈接不是以 https 開頭之外,一切似乎都正常,因此我嘗試將其添加到 URL 之前。
這是我的代碼:
new Thread(() -> {
final StringBuilder jsoupStr = new StringBuilder();
String URL = "https://example.com" titleString
.replaceAll(":", "")
.replaceAll(",", "")
.replaceAll(" ", "-")
.toLowerCase();
Log.d("CALLING_URL", " " URL);
try {
Document doc = Jsoup.connect(URL).get();
Element content = doc.getElementById("list-eps");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
jsoupStr.append("\n").append(link.attr("player-data"));
}
} catch (IOException e) {
e.getMessage();
}
String linksStr = jsoupStr.toString().trim();
if (!linksStr.startsWith("https://")) {
linksStr = "https:" linksStr;
}
String[] links_array = linksStr.split("\n");
arrayList.addAll(Arrays.asList(links_array));
}).start();
該網站每個視頻包含大約 10 個鏈接,但有些鏈接以“//”而不是 https 開頭。
此代碼添加了 https,但僅適用于它發現丟失的第一個鏈接。
if (!linksStr.startsWith("https://")) {
linksStr = "https:" linksStr;
}
uj5u.com熱心網友回復:
您需要遍歷最終陣列以將函式應用于所有鏈接。
String[] links_array = linksStr.split("\n");
for(int i = 0; i < length; i )
if(!links_array[i].startsWith("https://"))
links_array[i] = "https:" links_array[i];
uj5u.com熱心網友回復:
如果此代碼僅適用于第一個缺失的鏈接:
if (!linksStr.startsWith("https://")) {
linksStr = "https:" linksStr;
}
我認為您可以使用回圈來控制每個鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/340833.html
