一身气质范 2017-08-08 11:45 采纳率: 100%
浏览 1930
已采纳

异常:Cookie value must not be null

/**
* 入口
* @param args
*/
public static void main(String[] args) {
System.out.println("输出什么?");
Login login = new Login();
login.getPersonInfo();
}

// 返会一个list对象
public List<String> getPersonInfo() {// 返回一个list对象
    List<String> list = new ArrayList<String>();
    try {
        // 得到session ,进行模拟登陆,(如果有验证码,我就不知道了)。--博客园老牛大讲堂
        Connection.Response res = Jsoup.connect("http://www.51job.com")
                .data(
                        "loginname", "15217727459"
                        , "password", "15217727459."
                )// 进行模拟登陆
                .method(Connection.Method.POST).timeout(10000).execute();// 设置请求时间和登陆用的用户名,密码。

// Document doc = res.parse();
// 根据session进行爬虫
// 注释:不是所有网站他们都需要cook,也不是所有的网站cook都是iPlanetDirectoryPro。
// 不同网站网址的cookie不一样。而且每次访问都不一样,所以不要想着把session保存起来。
String guid = res.cookie("guid");
String _ujz = res.cookie("_ujz");

        System.out.println("guid === " + guid);
        System.out.println("_ujz === " + _ujz);

        Document objectDoc = Jsoup
                .connect("http://i.51job.com/resume/resume_preview.php?lang=c&resumeid=358968976&3658907287")// 里面的网址(就是你想要爬取的网页)
                .cookie("guid", guid)
                .cookie("_ujz", _ujz) // 异常提示行
                .timeout(10000).post();// 设置请求的时间(这里设置的请求时间是10秒)
        System.out.println("objectDoc === " + objectDoc);
        Element htmlElement = objectDoc.getElementsByClass("name").get(0);// 得到class为name的第一个对象
        Elements trElements = htmlElement.getElementsByTag("tr");// 得到tr标签的对象

        System.out.println(trElements.size());// 输出多少个tr标签

        for (int i = 1; i < trElements.size(); i++) {
            Elements divElments = trElements.get(i).getElementsByAttributeValue("align", "left");// 根据class进行得到对象。
            for (int j = 0; j < trElements.size(); j++) {
                Element d = divElments.get(j);// 获取每一个对象
                list.add(d.text());// 得到这个对象对应的值
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return list;
}
  • 写回答

2条回答

  • 一身气质范 2017-08-19 08:44
    关注

    已经解决, 谢谢大家帮忙 。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制