繁体   English   中英

Jsoup页面未提供正确的HTML

[英]Jsoup page not giving correct HTML

是的,我尝试了无数次研究。 一直试图制作一张白纸的刮板,作为测试以显示收集公共信息有多么容易。

我当前的混乱代码:

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();
    }
}
}

如果我只是以http访问该页面,而没有任何cookie或任何内容,那么它将为我提供与所需页面不同的HTML。

我已经尝试过这些:

Jsoup,http错误416,解析HTML

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

我当前的代码是50多种不同尝试的混合。 我首先以为我解析页面错误并正在寻找一个不存在的类。 但是后来我尝试使用jsoup进行了尝试,并且效果很好。 如果有人能澄清这个问题,我将非常感激。

可能的问题?:-缺少正确的cookie-使用http / https而不是http / https-未正确解析类-请帮助我一年以上没有使用过jsoup,它正在踢我的屁股

对于FB,我也有一个类似的代码,实际上我可以正确登录并查看页面(这就是为什么我尝试在没有登录页面作为测试的情况下尝试登录白页的原因),但是由于允许的请求数量和速度较慢,我决定尝试白页。

因此,我注释掉的第一部分确实有效,但是由于某种原因,我无法访问该页面。 从字面上看,我要做的就是将.com更改为他们的.ca域。 2个字符,持续3小时的错误解决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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM