streetinsider.comからいくつかのデータ(div = class "news_article")を印刷したいと思います。アカウントを作成したので、そのデータにアクセスするにはログインする必要があります。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基本認証を想定しているかなり確信:
Jsoup
でウェブサイトにログインする方法の詳細については、次のチュートリアルを見てみましょう。セッショントークンを取得してセッションを偽装する必要があります。 –