Java技术Jsoup爬取数据手动登录
Java语言爬取网页数据信息,使用jsoup技术。有的需要爬取的数据信息必须要登录之后才能看到的。所以需事先模拟登陆,然后在手拆dom,整理数据。导出数据。
**
1.模拟登陆之手动登录
如果是自动登录,该网站登录方式只有账号密码,这种简单的话可以先实现,与下方代码相似,参数则是账号密码,不需要cookie,登录进去之后可以取出cookie,在进行其他操作。但是如果是有验证码之类的参数,那么就需要打码平台之类对的东西。比较麻烦。
手动登录则只需要cookies参数,使用jsoup技术带着url和cookie参数。就可获取该页面数据。
**
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.util.HashMap;
import java.util.Map;
//接口参数Map<String, String> data = new HashMap<>();data.put("phone", "");data.put("name", "");
//通过接口地址、所需参数和cookie参数。就可访问该接口所能获取的数据或者说调用完该接口的页面
Document document = Jsoup.connect("url")// 手动设置cookies.header("Cookie", "自己去网站手动登录,登录后找到cookie,复制在此处").data(data).get();
2.解析dom
我这用的事简单解析,比较好的法可以是xpath,不过我是没有时间折腾。
- 通过唯一值的属性获取值,.val()的意思就是取value值,.text()的意思是取文本内容。
String name = document.select("[id=name]").val();
2)通过css样式获取值
document.select(".qyTable-tit");
取到值后,整理数据。就可以存入数据库。可以直接用数据库导出数据成excel表。
3.遇到的坑
已下说法仅针对于初学者。(这是我在前俩天的一些想法,以前也没接触过jsoup)
1.接口
找准爬取所需数据的接口地址,非常重要,很多网站的接口地址不是全部显示在地址栏上,所以通过f12找到接口地址尤为重要.
2.连接超时(bug)
在获取页面数据时加上这个 .timeout(60000)。
获取的数据量过大就会连接超时。可以分批次获取。比如循环获取,一次循环获取固定条数,等等。
本人小白,以上如有不对之处,烦请指正。欢迎下方留言讨论。
Java技术Jsoup爬取数据手动登录相关推荐
- Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索
Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
问题描述: 在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass("class的值"),这种方法获取不到 ...
- android jsoup 课程表,使用jsoup爬取数据实现android课程表
说明:只是爬虫的一个实现案例,所以没有多做功能,只做了登录跟课表功能,课表有修改周次,单击课程显示课程详细信息等功能. 开发平台:Android Studio 界面 使用TimetableView a ...
- 基于java使用jsoup爬取网站投票数据的demo
想爬取一个投票网站的实时数据 获取姓名和票数 查看网站源码(这里只展示一部分) <table border="0" cellpadding="0" cel ...
- java用jsoup爬网页数据_java使用jsoup爬取网页数据
1.导入依赖 org.jsoup jsoup 1.11.3 1.解析一个html字符串 示例如下:String html = " 这是P元素的内容 ";Document docum ...
- java 使用Jsoup 爬取 中国政府采购网数据
int isSize = 1; Integer pageSize = 0; Integer timeType = 4; // 时间类型 6: 指定时间 5:近半年 0:今日 4:近3月 public ...
- 使用Java及jsoup爬取链家北京二手房房价数据
由于是初次使用Java写爬虫,所以代码有些繁琐,请大家见谅,并能给与指正 首先分析链家北京二手房页面,使用360浏览器的审查元素功能,查看源代码,获取查询标签 如图一级查询所示,此图标签所获取的是链家 ...
- [Java]利用jsoup爬取易查分
最近在爬易查分的时候遇到了一些问题,来csdn上找方法,发现貌似都过时了,最后还是凭借意志力淦出来的 话不多说,直接上代码 import org.jsoup.nodes.Document; impor ...
- JAVA利用jsoup爬取今日天气预报信息
代码如下: import java.io.IOException;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org ...
最新文章
- 移动端滚动穿透问题完美解决方案
- 有限元中单元节点和积分点的区别
- Hadoop之InputFormat数据输入详解
- smarty二维foreach示例[顺代一维数组],再次加强版
- 攻克学习多线程时碰到的难题(zz)
- java线程池1001java线程池_深入浅出Java(Android )线程池ThreadPoolExecutor
- Linux下,如何安装有互相依赖关系的RPM包[转]
- php 中echo命令详解,DOS中的ECHO命令详解
- esp8266~获取mpu6050六轴传感器数据 [可在此基础上做wifi平衡小车]
- 一文彻底解决 matplotlib 中的字体管理
- html剧场座位设计图,报告厅舞台到第一排的距离多少合适 剧院主舞台离座位最佳距离尺寸设计图...
- 菜鸟日记(yzy) 微信公众号网页的开发-websocket
- spring深入学习(十九) IOC 之 Factory 实例化 bean
- 计算机采用什么交换技术,计算机 交换技术是什么?
- 【算法百题之四十二】罗马数字转整数
- vue中如何展现快速增长数字的动画
- 2021年终总结:平凡的一年
- 1天熟记----数据库
- pycharm常用插件
- SK6812驱动入门
热门文章
- PreSonus Studio One 5 Professional v5.5.0 WiN-MAC 音乐制作宿主软件
- [审核]审核被拒绝(开发账号目前正在接受调查)
- exec函数族的作用与讲解
- 无我编程的10条诫律
- 微型计算机原理...,微型计算机原理
- 出第三方软件检测报告的测试机构有哪些,具备CMA、CNAS资质的测评公司推荐
- 排序评估指标——NDCG和MAP
- Field xxxMapper in xxxxxxx required a bean of type ‘xxxxMapper‘that could not be found.
- xml生成xsd文件的方法
- 判定一棵二叉树是否是二叉搜索树