- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
⼿写⼀个java爬⾍,获取⽹页信息。
⼿写⼀个java爬⾍,获取⽹页信息。
本⽂将介绍 1: ⽹络爬⾍的是做什么的? 2: ⼿动写⼀个简单的⽹络爬⾍;
1: ⽹络爬⾍是做什么的? 他的主要⼯作就是 跟据指定的url地址 去发送请求,获得响应, 然后解析响应 , ⼀⽅⾯从响应中查找出想要查找的数
据,另⼀⽅⾯从响应中解析出新的URL路径,
然后继续访问,继续解析;继续查找需要的数据和继续解析出新的URL路径 .
这就是⽹络爬⾍主要⼲的⼯作. 下⾯是流程图:
通过上⾯的流程图 能⼤概了解到 ⽹络爬⾍ ⼲了哪些活 ,根据这些 也就能设计出⼀个简单的⽹络爬⾍出来.
⼀个简单的爬⾍ 必需的功能:
1: 发送请求和获取响应的功能 ;
2: 解析响应的功能 ;
3: 对 过滤出的数据 进⾏存储 的功能 ;
4: 对解析出来的URL路径 处理的功能 ;
编写后端代码
1、创建⼀个java⼯程,添加⼀下依赖:
dependencies
dependency
groupIdcom .googlecode.juniversalchardet/groupId
artifactIdjuniversalchardet/artifactId
version1.0.3/version
/dependency
dependency
groupIdorg.kie.modules /groupId
artifactIdorg-apache -commons -httpclient/artifactId
version6.2.0.CR2 /version
typepom /type
/dependency
dependency
groupIdorg.jsoup/groupId
artifactIdjsoup/artifactId
version1.10.3/version
/dependency
/dependencies
2、以下是我的java⼯程的包结构:
2.1、LinkFile接⼝:
package com .etoak.crawl.link;
publicinterface LinkFilter{
publicboolean accept(String url);
}
2.2、Link类:两个属性: ⼀个是存放 已经访问的url集合的set ; ⼀个是存放待访问url集合的 queue
package com .etoak.crawl.link;
import java.util.HashSet ;
import java.util.LinkedList;
import java.util.Set;
/*
主要功能
* Link ;
存储已经访问过的 路径 和 待访问的 路径
* 1: URL URL ;
*
*
* */
publicclass Links{
已访问的 集合 已经访问过的主要考虑不能再重复了使⽤ 来保证不重复
// url set ;
privatestatic Set visitedUrlSet= new HashSet ();
待访问的 集合 待访问的主要考虑 规定访问顺序 保证不提供重复的带访问地址
// url 1: ;2: ;
privatestatic LinkedList unVisitedUrlQueue= new LinkedList();
获得已经访问的 数⽬
// URL
publicstaticintgetVisitedUrlNum(){
您可能关注的文档
- 单片机原理及接口技术.pdf
- 线性代数简介详细版.pdf
- Vue面试笔试题目大全,Vue核心知识,Vue大厂面试宝典.pdf
- 前端vue经典面试题78道(重点详细简洁).pdf
- vue面试题完整详细.pdf
- (完整PDF版)图书管理系统源代码.pdf
- JavaEE设计图书管理系统.pdf
- JAVA的图书管理系统的设计与实现.pdf
- YOLOV5代码解析(小白系列).pdf
- 2025届河南省周口市扶沟高级中学高考化学全真模拟密押卷含解析.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)