使用接受/拒绝页面从https网站中提取href以输入

时间:2016-12-16 21:36:01

标签: java http jsoup href extract

在此网站上:https://services.cds.ca/applications/taxforms/taxforms.nsf/Pages/-EN-LimitedPartnershipsandIncomeTrusts?Open

如果您点击:显示2015年的税务信息,点击接受,您将到达:https://services.cds.ca/applications/taxforms/taxforms.nsf/PROCESSED-EN-?OpenView&Start=1&Count=3000&RestrictToCategory=All-2015

最终目标是在此页面上链接所有excel文件href。

使用JSoup库,我已经能够阅读HTML并在许多不同的网站上找到href,但在尝试将其应用于这个更复杂的网页时遇到了一些问题。

如果有人能指出我正确的方向,找到一些关于我在这里的事情或提供一个例子的参考资料,我们将不胜感激。

我一直用于其他网站的示例代码,这些网站似乎无法从此网页抓取HTML:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class URLReader {

public static void main(String[] args) throws IOException {
    try{
        Document doc = Jsoup.connect("https://www.google.com/").get();
        Elements links = doc.select("a");
        for (Element e: links) { 
                System.out.println(e.attr("abs:href"));
        }
    }
    catch(IOException ex){
        System.out.println(ex.getMessage()); 
    }
}
}

但是,当我将谷歌顶部提到的CDS网址丢弃时,程序会在执行时挂起,并最终出现“连接重置”捕获错误消息。

另外,在上面链接的CDS网站的HTML中,我看到一些javascript: if(document.referrer.indexOf(“/ applications / taxforms / taxforms.nsf / Pages / -EN- agree?Open”)< = 0)location.href =“/ applications / taxforms / taxforms.nsf / Pages / - EN-同意开放和放大器;?&的OpenView功放;启动= 1&安培; COUNT = 3000&放大器; RestrictToCategory =所有-2015" ; 这会将您返回到进入此页面之前的接受/拒绝免责声明页面。想知道某些表格帖子或数据传递是否需要让我超过这个,如果这是导致我这个问题的原因?

谢谢!

0 个答案:

没有答案
相关问题