JSoup:org.jsoup.HttpStatusException:HTTP错误提取URL。状态= 503,用户代理不起作用

时间:2017-09-17 20:20:08

标签: java jsoup

我尝试连接到site,从中获取链接,然后访问for周期中的每个链接并从中存储一些信息。但是,在尝试访问内部站点(org.jsoup.HttpStatusException: HTTP error fetching URL. Status=503函数内部)时出现getAddress()错误。我尝试设置超时和更改用户代理,但它只是不起作用。单独访问其中一些网站确实有效。

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

import java.io.IOException;
import java.util.ArrayList;


public class Parser {
    public static void main(String[] args) throws IOException {
        String url="http://www.patriarchia.ru/db/organizations/";
        String homeUrl="http://www.patriarchia.ru";


        Document document = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36").get();
        Elements links = document.getElementsByClass("news");

        ArrayList<Company> companies=new ArrayList<Company>();
        int i=1;

        for (Element link : links) {
             Company companyCopy=new Company(link.text());

            Element title = link.getElementsByClass("title").get(0).getElementsByTag("a").get(0);
            String siteUrl=title.attr("href");

            companyCopy.setSite(homeUrl+siteUrl);


            getAddress(companyCopy.getSite());

            i++;
        }
    }

    public static String getAddress(String url)  throws IOException {
            Document document = Jsoup
                    .connect(url)
                    .ignoreContentType(true)
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0").get();
            Elements dts = document.getElementsByClass("dt");
           Element dd;

        for (Element dt: dts)  {
               System.out.println(dt.text());
        }

        return "";
    }

}

我真的会在这里使用一些帮助,因为我不知道还能做些什么。更改超时长度似乎也没有帮助。我欢迎任何想法和建议。

PS没关系语言,链接在主页上,这一切都非常重要。

0 个答案:

没有答案