【问题标题】:How to solve HTTP error fetching URL. Status=503 JSOUP(I Tried All solutions)如何解决 HTTP 错误获取 URL。状态=503 JSOUP(我尝试了所有解决方案)
【发布时间】:2019-04-03 20:10:13
【问题描述】:

在我的大数据项目中,我必须开发一个 JSOUP 脚本来获取巴黎 2018 气象数据并存储它们

public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; 
Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 
Safari/537.36";

    int numberDay = 1;
    for(numberDay=1; numberDay<32 ; numberDay++ ) {
        //une condition sur le numberDay =1 puisque dans URL 1  = 1er
        if(numberDay==1){

            String First=numberDay+"er";
            String url = "https://www.infoclimat.fr/observations-meteo/archives/"+First+"/"+listMois.get(1)+"/2018/paris-montsouris/07156.html";
            System.out.println(url);
            //Document doc = Jsoup.connect(url).userAgent("Mozilla").get();
            Document doc = Jsoup.connect(url).userAgent(USER_AGENT).get();

            //appel de la methode DataCollect
            dataCollect.GetData(doc);

        }


    else if(numberDay!=1) {

            String url = "https://www.infoclimat.fr/observations- 
meteo/archives/"+numberDay+"/"+listMois.get(1)+"/2018/paris- 
montsouris/07156.html";
            System.out.println(url);
            Document doc = 
Jsoup.connect(url).userAgent(USER_AGENT).get();

            dataCollect.GetData(doc);

        }
    else{
            System.out.println("erreur");
        }


}

我尝试了 user_Agent 的所有解决方案,但我有同样的错误(URL 在浏览器上有效)

 Exception in thread "main" org.jsoup.HttpStatusException: HTTP error 
 fetching URL. Status=503

第 8 天显示错误,因此他可以在 8 次请求后检测到它是机器人。

【问题讨论】:

  • 如果您坐在那里不断地重新加载,浏览器是否也能正常工作?
  • 是的,我不断地重新加载网页,它工作得很好,但没有代码
  • 尝试添加一些延迟,以降低您的请求速度。
  • 您知道我需要添加的参数以在请求之间进行延迟吗?你的意思是 timeout() ?

标签: java jsoup


【解决方案1】:

我能够通过放置一个线程来延长查询之间的时间来解决问题

Thread.sleep(5000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多