Ich möchte presome Daten (div mit class = "news_article") von Streetinsider.com. Ich habe ein Konto erstellt und muss mich anmelden, um auf diese Daten zugreifen zu können.Java-Schrott-Website mit Anmeldung erforderlich mit Jsoup
Kann mir jemand erklären, warum dieser Code nicht funktioniert? Ich habe viel versucht, aber nichts funktioniert.
public static final String SPLIT_INTERNET_URL = "http://www.streetinsider.com/Special+Dividends?offset=55";
public static final String SPLIT_LOGIN = "https://www.streetinsider.com/login.php";
/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
* @throws java.io.UnsupportedEncodingException
* @throws java.text.ParseException
* @throws java.lang.ClassNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException, IOException, ParseException, ClassNotFoundException {
// TODO code application logic here
Response res = Jsoup.connect(SPLIT_LOGIN)
.data("loginemail", "XXXXX", "password", "XXXX")
.method(Method.POST)
.execute();
Document doc = res.parse();
Map<String, String> cookies = res.cookies();
Document pageWhenAlreadyLoggedIn = Jsoup.connect(SPLIT_INTERNET_URL).cookies(cookies).get();
Elements elems = pageWhenAlreadyLoggedIn.select("div[class=news_article]");
for (Element elem : elems) {
System.out.println(elem);
}
}
ziemlich sicher, dass ist davon ausgehen, HTTP BASIC AUTH, das ist nicht das, was die Website erfordert. Sie müssen ein Sitzungstoken erhalten und die Sitzung fälschen. –