Я думаю, что есть три основных шага.
Первый, Запрос HTML-страницы с подключением https, какой бы инструмент вы не знали, например, класс httpsurlconnection и т. Д.
Второй, вы должны найти ключевое слово на html-странице, а затем проанализировать его с ключом с помощью библиотеки jsoup.
Наконец, вы можете использовать библиотеку json и получить строку json сЛитт усилий.
Например, на первой странице сайта
я могу найти ключевое слово, 'tabdata' после поиска исходного кода HTML.
Остальной процесс проходит гладко.
Вот мой пример для вас.
Сначала , я должен пропустить этот шаг, потому что у вас уже есть собственное решение.
Второй , класс JSoupParser, который извлекает содержимое с ключевым словом
static class JSoupParser {
public String getWelcomeBGP(final String htmlcontents) {
StringBuilder stbuld = new StringBuilder();
Document doc = Jsoup.parseBodyFragment(htmlcontents);
for (Element div : doc.select("div")) {
int i = 0;
if(div.className().equals("tabdata"))
{
for (Element subdiv : div.select("div")) {
if(i != 0)
if(!subdiv.text().equals(""))
stbuld.append(subdiv.text()).append("\n");
i++;
}
}
}
return stbuld.toString();
}
}
, наконец, класс JsonParser для генерации строки json из содержимого.
static class JsonParser {
public JSONObject getWelcomeBGP(final String contents) throws IOException {
BufferedReader breader = new BufferedReader(new StringReader(contents));
String line= null;
JSONObject jobj = new JSONObject();
int id = 0;
while((line = breader.readLine()) != null)
{
jobj.put("A" + id++, line);
}
return jobj;
}
}
ЗдесьМой основной метод.
import org.json.JSONObject;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public static void main(String[] args) {
// first, request html contents from the site.
HttpsClientWithoutValidation htmlContents = new HttpsClientWithoutValidation();
final String url = "https://bgp.he.net";
String response = htmlContents.requestHtmlContents(url);
// second, request html contents from the site.
JSoupParser htmlparser = new JSoupParser();
String contents = htmlparser.getWelcomeBGP(response);
// finally, make your own json string or object whatever.
JSONObject jobj = null;
JsonParser jsonparser = new JsonParser();
try {
jobj = jsonparser.getWelcomeBGP(contents);
System.out.println(jobj.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Хорошего дня.