gpt4 book ai didi

java - Jsoup on imdb 403 错误

转载 作者:行者123 更新时间:2023-12-02 03:45:06 25 4
gpt4 key购买 nike

我需要解析 imdb 页面才能显示结果。我正在使用 Jsoup 来达到这个目的。下面是我为此目的编写的代码。当我运行代码时,我看到 403 错误。我重新验证了该网址,该网址似乎是正确的。

import java.io.IOException;
import java.net.URLEncoder;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class ParseIMDB {

public static void parse() throws IOException{
Document doc = Jsoup.connect("http://imdb.com/search/title?count=100&genres=action&languages=en&release_date=2010,2016&title_type=feature").get();
Elements newsHeadlines = doc.select("#main > table.results tbody");
}

public static void main(String[] args) {
// TODO Auto-generated method stub
try {
parse();
} catch (Exception e){
System.out.println("Exception found!");
e.printStackTrace();
}
}
}

我尝试使用 URLEncode.encode 对 url 进行编码,但它也没有帮助。

上述代码的堆栈跟踪如下:

Exception found! org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=http://www.imdb.com/search/title/ at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:537) 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 org.jsoup.helper.HttpConnection.get(HttpConnection.java:194) at ParseIMDB.parse(ParseIMDB.java:13) at ParseIMDB.main(ParseIMDB.java:20)

最佳答案

我相信如果您向请求添加 User-Agent header ,它就会起作用。你可以这样做:

 Document doc = Jsoup.connect("http://imdb.com/search/title?count=100&genres=action&languages=en&release_date=2010,2016&title_type=feature")
.userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36")
.get();

此解决方案已经过测试并且有效,返回电影列表。

关于java - Jsoup on imdb 403 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366541/

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