Jsoup页面没有给出正确的HTML

时间:2015-09-22 00:36:59

标签: java html parsing jsoup

是的,我曾尝试过无数次研究。一直试图为白页制作刮刀作为测试,以显示收集公共信息是多么容易。

我目前的代码乱七八糟:

package whitescraper;

import java.util.Map;

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

public class whitescraper {
public static void main(String args[]){

    try {
    /*  Document doc = Jsoup.connect("https://www.whitepages.com/phone/1-314-677-6077").ignoreHttpErrors(true).maxBodySize(0).get();
        Elements elements = doc.select(".phone-details");
        System.out.println(elements);
    */

        Connection.Response res = Jsoup.connect("https://www.whitepages.com/")
                //.data("email", "oldemailetc", "pass", "passwordarea")
                .method(Method.POST)
                .execute();

        Map<String, String> cookies = res.cookies();





         Document doc2 = Jsoup.connect("https://www.whitepages.com/phone/1-314-677-6077")
                    .cookies(cookies)
                    .ignoreHttpErrors(true)
                    .maxBodySize(0)
                    //.cookie("_whitepages_session", "OUFKdExxR2JEUUdiZCtXM3JsZ2o566bushdid911N2b1h0VVI3S08wdUx2dDVBcGZSNDVRZlBKMG1DZXZyNFVxdDhaQjZIcVFPUGh5TUZuczJxalg5Q1NJL0xibVdYcTBsQmRMbjZpcWdXZi9vZmNoMmtJT0xMbW9jaFpRKzhRNGhHR0N5aVhxVkJEQzVtYzRwejdKZ3k4SWEzYXNRU0I2TnMwWXBsNDBCZVV6SnlyOFJ0bzNCd3FlRmtBaTZ2SDJRZERKQzNGVTA5NlU5azNubVg2VmtmMDdPb3p2dEZNMD0tLWFNbyt0dTJWQ1F4ano5OHEwVHVIY3c9PQ%3D%3D--4b35f34b72d3b1dd978dc8580749c41dc93e0d7a")
                    .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                    .referrer("http://www.google.com")  
                    //.timeout(10000)
                    .get();


        //Document doc2 = Jsoup.parse("http://www.whitepages.com/phone/1-314-677-6077");


        System.out.println(doc2.html());
    }catch(Exception e){
        e.printStackTrace();
    }
}
}

如果我只是在没有任何cookie或其他任何内容的情况下以http格式访问该页面,那么它会提供与我想要的页面不同的HTML。

我试过这些:

Jsoup, http error 416, parsing HTML

https://groups.google.com/forum/#!topic/jsoup/54X6vcbdEUg

我目前的代码是50多种不同尝试的混合。我首先想到的是我正在解析页面错误并寻找一个不存在的类。但后来我尝试了尝试jsoup,它运作得很好。如果有人能澄清问题我会非常感激。

可能出现的问题?: - 正确的饼干 - 使用http / https而不是http / https - 没有正确解析类 - 请帮助我在一年内没有使用过jsoup而且它踢了我的屁股

我也有类似的FB代码,我实际登录并正确查看页面(这就是为什么我尝试登录没有登录页面作为测试的白页)但由于允许的请求数量和速度慢我决定尝试白页。

1 个答案:

答案 0 :(得分:0)

所以我评论过的第一部分确实有效,但出于某种原因,我无法访问该页面。我所要做的就是将.com更改为他们的.ca域名。 3个小时的2个字符的错误解决方案fml。希望有人能找到使用.com域名的方法。下面的工作代码。

Document doc = Jsoup.connect("http://www.whitepages.ca/phone/1-314-677-6077").ignoreHttpErrors(true).maxBodySize(0).get();
        Element element = doc.select(".phone-details").first();
        System.out.println(element.text());