一身气质范 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 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程