java爬虫 模拟登录_java 基于Jsoup 对领英完成模拟登陆(Java爬虫)
public String login() {
// TODO Auto-generated method stub
String pwd = "XXXXXXXXXXXXXXX";//密码
String account = "XXXXXXXXXXXXXXXXXXXX";//账号
String nameId="";
String csrf_token="";
Map cookie = new HashMap();
Map cookies = new HashMap();
try {
String url="https://www.linkedin.com/login?trk=guest_homepage-basic_nav-header-signin";
Connection connect = Jsoup.connect(url);
connect.header("authority","www.linkedin.com");
connect.header("cache-control","max-age=0,no-cache");
connect.header("user-agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
connect.header("accept","text/html,appli cation/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
connect.header("referer","https://www.baidu.com/s?ie=·-8&wd=%E9%A2%86%E8%8B%B1");
connect.header("accept-encoding","gzip, deflate, br");
connect.header("accept-language","en-US;q=0.8,en;q=0.7");
Connection.Response response = connect.ignoreContentType(true)
.execute();
Document parse = response.parse();
String loginCsrfParam = parse.select("input[name=loginCsrfParam]").get(0).attr("value");
cookie = response.cookies();
System.out.println(cookie);
for (String s : cookie.keySet()) {
if(s.equalsIgnoreCase("JSESSIONID")){
csrf_token=cookie.get(s);
System.out.println(csrf_token);
break;
}
}
Map datas = new HashMap();
datas.put("session_key", account);
datas.put("session_password",pwd );
datas.put("isJsEnabled", "false");
datas.put("loginCsrfParam",loginCsrfParam);
datas.put("fp_data", "default");
datas.put("undefined", "");
url="https://www.linkedin.com/uas/login-submit?loginSubmitSource=GUEST_HOME";
Connection connection2 = Jsoup.connect(url);
connection2.header("authority","www.linkedin.com");
connection2.header("cache-control","max-age=0,no-cache");
connection2.header("origin","https://www.linkedin.com");
connection2.header("upgrade-insecure-requests","1");
connection2.header("content-type","application/x-www-form-urlencoded");
connection2.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
connection2.header("accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
connection2.header("referer","https://www.linkedin.com/");
connection2.header("accept-encoding","gzip, deflate, br");
connection2.header("accept-language","en-US;q=0.8,en;q=0.7");
connection2.cookies(cookie);
Connection.Response execute = connection2
.data(datas)
.cookies(cookie)
.method(Method.POST)
.execute();
URL referer = execute.url();
Map executeCookie = execute.cookies();
Document parse1 = execute.parse();
String result=parse1.toString();
if (result.contains("Sign-In Verification") || result.contains("verification code")) {
cookie.putAll(executeCookie);
cookies =cookie;
}else{
cookies =executeCookie;
}
nameId = RegexUtil.getValue("\"publicIdentifier\":\"(.*?)\"", result, 1).trim();
System.out.println("登陆成功");
return "success";
} catch (Exception e) {
System.out.println("登陆异常");
return "error";
}
}
java爬虫 模拟登录_java 基于Jsoup 对领英完成模拟登陆(Java爬虫)相关推荐
- Java实现注册登录系统——基于Java Swing实现
技术简介:Java Swing 介绍 Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. ...
- java项目-第103期基于ssm的大学生校园兼职平台管理系统-java毕业设计
java项目-第103期基于ssm的大学生校园兼职平台管理系统 [源码请到资源专栏下载] 1.项目简述 这是一款大学生校园兼职平台管理系统,分为前台和后台. 普通用户登录前台可以看到用户发布的各种兼职 ...
- scrapy mysql 模拟登录知乎_详细的Python Scrapy模拟登录知乎
之前爬取携程和51job都是免登陆就能爬取数据的,但是今天爬取知乎的时候就需要登录后才能爬到数据,那我们只能进行模拟登录了. 知乎登录分为邮箱登录和手机登录两种方式,通过浏览器的开发者工具查看,我们通 ...
- java 禁止使用多线程_Java多线程(四)-线程状态的转换 - Java 技术驿站-Java 技术驿站...
一.线程状态 线程的状态转换是线程控制的基础.线程状态总的可分为五大状态:分别是生.死.可运行.运行.等待/阻塞.用一个图来描述如下: 1.新状态:线程对象已经创建,还没有在其上调用start()方法 ...
- python模拟登录qq获取好友信息_使用Python模拟登录QQ邮箱获取QQ好友列表
最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...
- python在手机上如何模拟登录_用 Python 换个姿势「模拟登录」
原标题:用 Python 换个姿势「模拟登录」 作者:librauee 今天给大家介绍Python一个非常有意思的库PyUserInput,它集成了PyMouse和PyKeyboard这俩模块,能够模 ...
- java亚马逊模拟登录_java – 亚马逊MWS入门
我最近调查了亚马逊MWS,并希望为它开发.我有一个卖家帐户并下载了给定的 java文件.我包含了所有.jars并打开了ListOrderItemsSample.java.在那里我设置了sellerId ...
- java udp 聊天室_Java基于UDP协议实现简单的聊天室程序
最近比较闲,一直在抽空回顾一些Java方面的技术应用. 今天没什么事做,基于UDP协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对Java网络编程方面的一个简单回忆. ...
- Java实现Token登录验证(基于JWT的token认证实现)
文章目录 一.JWT是什么? 二.使用步骤 1.项目结构 2.相关依赖 3.数据库 4.相关代码 三.测试结果 一.JWT是什么? 在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流 ...
最新文章
- Java:OpenOffice方式实现Word转pdf/html/htm
- Android Studio编译卡死
- android.os.NetworkOnMainThreadException
- numpy meshgrid用法
- 您可能不知道的ASP.Net小技巧
- 基于HTML在线考试系统开题报告,基于JSP的在线考试系统 开题报告.doc
- SQL Server--用户自定义函数
- 模拟inode号耗尽、EXT和XFS类型文件恢复(详细图解)
- [译]关于NODE_ENV,哪些你应该了解
- 「leetcode」654.最大二叉树(详解)
- html ubb c,UBB代码和HTML代码的区别
- win7计算机不能设置双屏怎么回事,Win7系统怎么设置才能实现双屏显示?
- 蓝鸽智慧计算机教室云服务平台操作说明,智慧教室操作说明.PDF
- 8081端口被nexus占用的情况如何解决
- awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
- IDE中使用package打包出现java.lang.TypeNotPresentException: Type org.springframework.boot.maven.RepackageMoj
- Debian9.12镜像下载及网络、软件源配置
- 君子慎独,卑以自牧!
- 杨紫开直播被吐槽脸胖、脖子粗、嘴唇厚,这就是明星开美颜的原因
- vmware workstation 9 安装Ubuntu 12.04 WIN7 64 位 出现问题及解决办法