我想從streetinsider.com上打印一些數據(class =「news_article」的div)。我創建了一個帳戶,我需要登錄才能訪問這些數據。需要使用Jsoup登錄的Java廢料網站
任何人都可以解釋爲什麼這段代碼不工作嗎?我嘗試了很多,但沒有任何工作。
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);
}
}
相當肯定,是假定HTTP基本身份驗證,這也不是什麼網站需要。你將不得不獲得會話令牌並欺騙會話。 –