gpt4 book ai didi

java - 登录并从网页 Jsoup 提取数据

转载 作者:行者123 更新时间:2023-12-01 11:24:39 25 4
gpt4 key购买 nike

所以我尝试通过此方法登录到网站,然后从网站“http://www.website.com”内的其他网页中获取该元素

public class TicketingJsoup {

public static void main (String [] args) throws IOException{
try {
String url = "www.website.com";
Connection.Response response = Jsoup.connect(url).method(Connection.Method.GET).execute();

response = Jsoup.connect(url)
.cookies(response.cookies())
.data("Action", "Login")
.data("User", "myuser")
.data("Password", "mypass")
.method(Connection.Method.POST)
.followRedirects(true)
.execute();

Document document = response.parse();
System.out.println(document);

Map<String, String> loginCookies = response.cookies();


Elements ticketNumber = doc.select("body > div.MainBox.ARIARoleMain.UseArticleColors > div.Headline > h1");
System.out.println(ticketNumber);
System.out.println("TEST");

} catch (IOException e) {
e.printStackTrace();
}
}

}

堆栈跟踪

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:516)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:534)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:493)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205)
at TicketingJsoup.main(TicketingJsoup.java:25)

我做错了什么?我正在绞尽脑汁试图弄清楚如何做到这一点,我也尝试了很多其他事情,但它们导致了死胡同。我认为这是最好的方法,但如果我错了,请告诉我更好的方法。

谢谢。

最佳答案

试试这个代码:

   try {
String url = "www.website.com";
Connection.Response response = Jsoup.connect(url).method(Connection.Method.GET).execute();

response = Jsoup.connect(url)
.cookies(response.cookies())
.data("Action", "Login")
.data("User", "your_login")
.data("Password", "your_password")
.method(Connection.Method.POST)
.followRedirects(true)
.execute();

Document document = response.parse();
System.out.println(document);

} catch (IOException e) {
e.printStackTrace();
}

关于java - 登录并从网页 Jsoup 提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30928572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com