简单几步学会java爬虫
初入爬虫行业的程序员如何通过java语言编写爬虫程序,本文介绍了java爬虫入门一些知识供大家参考。
首先我们知道jsoup是一款简单好用的页面解析工具,百度可以找到中文教程,我这里只是作为个人笔记的总结。
首先是下载jar包,下载好了放进项目里就好。
然后构建一个普通的javaSE项目。。。
获取页面之前首先第一步应该是了解DOM结构,这里不深入说明。
然后就是这个工具的继承关系:Document继承Element继承Node. TextNode继承 Node
然后我们开始做第一步操作document对象
public void test1(){//暂时用字符串代替从页面取来的dom结构String html= "<html><head><title>First parse</title></head><body><p id='hehe'>Parsed HTML into a doc.</p></body></html>";//解析字符串获得document对象Document doc=Jsoup.parse(html);//从doc对象中取得id为hehe的元素然后获取其中的文字值System.out.println(doc.getElementById("hehe").text());//从doc对象中取得id为hehe的元素然后获取其中的html对象System.out.println(doc.getElementById("hehe").html());//从doc对象中取得id为hehe的元素然后回溯出整体System.out.println(doc.getElementById("hehe").root());//你可以把document对象看做后台版的js,通过class找,name找甚至利用jQuery都是支持的
}
通过第一步主要熟悉了操作这个对象,然后的话我们进入第二步,从网页中获取信息。
很遗憾的是我当时在操作官方的学习文档时发现他丫居然放了个反爬虫链接,导致链接超时,所以我就写了这篇日志。第一步找到一个可爬的站点。然后开始爬。
public void test2(){try {Document doc=Jsoup.connect("http://www.jb51.net").data("query", "java").userAgent("Chrome").cookie("auth", "token").timeout(3000).post();System.out.println(doc.getElementById("trigger").text());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
目前这个站点是可以爬的,不然你们可以试试其他的。但是不设置时间容易受网络影响报错。
然后我们开始爬本机的html
//解析本地文件为dom文档public void test3(){//文件路径转化为输入流对象File input = new File("/tmp/input.html");try {//解析输入流为dom对象。第三个为路径的头Document doc = Jsoup.parse(input, "UTF-8","");System.out.println(doc);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
到这里一个简单的爬虫就弄好了。
简单几步学会java爬虫相关推荐
- java三步 网易_Java基础:三步学会Java Socket编程·网易学院·教程
设计原理: 服务器端接受客户端的连接请求,同时启动一个线程处理这个连接,线程不停的读取客户端输入,然后把输入加入队列中,等候处理.在线程启动的同时将线程加入队列中,以便在需要的时候定位和取出. {源码 ...
- java爬虫(一)用selenium驱动IE和谷歌浏览器模拟点击网页
我们公司的需求总是那么折磨人,最近要做模拟人一步步点击拼多多商品发起支付然后得到最后一步的链接.那么之前学的selenium就派上用场了,在本篇博客我将带大家学会Java爬虫的第一步,用seleniu ...
- 超简单的java爬虫
最简单的爬虫,不需要设定代理服务器,不需要设定cookie,不需要http连接池,使用httpget方法,只是为了获取html代码... 好吧,满足这个要求的爬虫应该是最基本的爬虫了.当然这也是做复杂 ...
- java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一)
转载自 java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一) 最近在找java的小项目自己写着玩,但是找不到合适的,于是写开始学一点爬虫,自己也是感觉爬虫比较有趣.这里自己找了一个 ...
- java爬虫之基于httpclient的简单Demo(二)
转载自 java爬虫之基于httpclient的简单Demo(二) 延续demo1的 java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一),demo2出炉啦,大家想学爬虫都可以从这 ...
- java爬虫自动识别验证码_简单Java爬虫(一)爬取手机号码
原创 野狗菌 希望你能喜欢 今天 关于本文: 本文介绍一个简单Java爬虫,获取网页源码,爬取电话号码. 本篇教程用我的博客一个测试网页演示. --野狗菌[希望你能喜欢] 测试页面: https:// ...
- 简单几步实现网络音乐播放器(Python爬虫版百度FM)
Python入门之爬取百度音乐 先说一下为什么会有这篇文章,首先肯定是有这个需求了,本人出差在外地,这里的网速卡到爆,根本支撑不了在线听歌的要求,所以就想下载到本地来慢慢听.这可是python的绝活, ...
- Keycloak简单几步实现对Spring Boot应用的权限控制,程序员Java基础案例教程
关注并星标 码农小胖哥,第一时间获取相关干货文章. 客户端 === 相信不少同学用过微信开放平台.蚂蚁开放平台.首先我们需要在这些开放平台上注册一个客户端以获取一套类似用户名和密码的凭证.有的叫app ...
- UG编程,简单六步让你学会三坐标编程
UG编程,简单六步让你学会三坐标编程 简 单 编 程 测 量 方 法 1.意图 :进步检测能力,以满足公司质量操控要求,保证零件的品质. 2.规模 :适用于批量性或作业量大的零件丈量. 3.支撑 :R ...
最新文章
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- python恶搞表情包-用 Python 把你的朋友变成表情包
- matlab 检测gpu,康奈尔大学使用MATLAB进行GPU性能测试
- python账号密码一一对应_python模拟用户登录系统,如何两个用户输入各自的密码才能登入?...
- Python3中异常处理和try/except,try/finally的用法
- CSU 1115 最短的名字
- Python中的列表和元组
- 小鹏汽车Q2获得总营收37.6亿元,汽车交付量创季度新高
- 稀缺PSD分层质感男模特男装电商海报
- Java核心API -- 9(异常)
- Go Elasticsearch index CRUD
- 操作日志和系统日志分类记录
- 老男孩教育每日一题-2017年4月10日-find命令题目
- fir.im分发平台 二维码合并
- 虚拟文件系统VSF的作用
- 老MacBook升级内存记
- 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)
- 商业银行合规管理用OA:“上报、评估、整改、分析”全面数字化
- MCS-51单片机结构学习总结
- 【Python】python爬取百度云网盘资源-源码
热门文章
- IT研发技能表v3.1
- L2-021 点赞狂魔 - java
- hduoj 饭卡 java_饭卡 HDU - 2546
- GAN-INT-CLS 论文阅读笔记 text2img
- git删除历史遗留大文件
- Python 画二维和三维散点同心圆
- Word(WPS文字)批量修改表格宽度
- Codeforces 1546 D. AquaMoon and Chess —— 组合数学,一点点想法
- 宏文件下载_SolidWorks模型英文特征改中文名字方法分享SolidWorks宏文件 [
- 为什么linux图形引擎那么丑,为什么你的技术文章配图总是那么丑?那是你还没看过这篇教科书般的技术文章配图指南!...