分享一个简单的java爬虫框架
短信预约 -IT技能 免费直播动态提醒
反复给网站编写不同的爬虫逻辑太麻烦了,自己实现了一个小框架
可以自定义的部分有:
请求方式(默认为Getuser-agent为谷歌浏览器的设置),可以通过实现RequestSet接口来自定义请求方式
储存方式(默认储存在f盘的html文件夹下),可以通过SaveUtil接口来自定义保存方式
需要保存的资源(默认为整个html页面)
筛选方式(默认所有url都符合要求),通过实现ResourseChooser接口来自定义需要保存的url和资源页面
实现的部分有:
html页面的下载方式,通过HttpClient实现html页面的下载
html页面的解析部分,通过jsoup实现html页面的解析
HtmlDownloader类,用于根据一个url下载一个html页面
package DownloadPackage;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;public class HtmlDownloader {RequestSet requestset = null;public HtmlDownloader(RequestSet requestset){this.requestset = requestset;}public String downloadhtml(String url){String html = null;//创建一个客户端//创建一个读取流从entity读取htmlBufferedReader reader = null;CloseableHttpClient httpclient = HttpClients.createDefault();HttpResponse response = null;try {response = httpclient.execute(requestset.getMethod(url));HttpEntity entity = response.getEntity();reader = new BufferedReader(new InputStreamReader(entity.getContent()));StringBuilder sb = new StringBuilder();while((html = reader.readLine()) != null){sb.append(html);}html = sb.toString();System.out.println("一个html页面获取成功");}catch (IOException e) {System.out.println(url+"连接失败");}finally{if(reader != null){try {reader.close();httpclient.close();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return html;}}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
分享一个简单的java爬虫框架
下载Word文档到电脑,方便收藏和打印~
下载Word文档
相关文章
- 在 JavaScript 中,getter 与 setter 究竟该如何使用呢?(JavaScript中getter与setter怎么使用)
- Java 集合框架究竟能实现哪些复杂操作?(Java集合框架能实现哪些复杂操作)
- 如何在 JAVA 中返回文件流给前端?(JAVA怎么返回文件流给前端)
- 如何确保Ruby代码的安全性:SEO优化技巧大揭秘
- Java 中 concat 函数的用法究竟是什么?(java中concat函数的用法是什么)
- 如何利用 Bootstrap 增强 Java Web 应用的交互性?(利用Bootstrap增强Java Web应用的交互性)
- 如何在 Java 中进行 PropertyGrid 的性能优化?(Java中PropertyGrid的性能优化方法)
- Java ushort 类型存在哪些安全隐患?如何进行分析?(java ushort类型的安全隐患分析 )
- Java 高并发编程的最佳实践都有哪些?(java高并发编程的最佳实践有哪些)
- Java 中如何定义一个方法?(详细教程)(java怎么定义一个方法)
猜你喜欢
分享一个简单的java爬虫框架
反复给网站编写不同的爬虫逻辑太麻烦了,自己实现了一个小框架可以自定义的部分有:请求方式(默认为Getuser-agent为谷歌浏览器的设置),可以通过实现RequestSet接口来自定义请求方式储存方式(默认储存在f盘的html文件夹下),
2023-05-30
简单好用的nodejs 爬虫框架分享
这个就是一篇介绍爬虫框架的文章,开头就不说什么剧情了。什么最近一个项目了,什么分享新知了,剧情是挺好,但介绍的很初级,根本就没有办法应用,不支持队列的爬虫,都是耍流氓。 所以我就先来举一个例子,看一下这个爬虫框架是多么简单并可用。
第一步:
2022-06-04
使用Python实现简单的爬虫框架
爬虫是一种自动获取网页内容的程序,它可以帮助我们从网络上快速收集大量信息。下面我们将学习如何使用Python编写一个简单的爬虫框架,感兴趣的可以了解一下
2023-05-19
一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎主要实现 爬取一个收藏夹 里 所有问题答案下的 图片文字信息暂未收录,可自行实现,比图片更简单具体代码里有详细注释,请自行阅读项目源码:# -*- coding:utf-8 -*- from spider
2023-06-02
Python的Scrapy爬虫框架简单学习笔记
一、简单配置,获取单个网页上的内容。
(1)创建scrapy项目scrapy startproject getblog(2)编辑 items.py# -*- coding: utf-8 -*-# Define here the models
2022-06-04
2023-10-03
Python爬虫基础之简单说一下scrapy的框架结构
scrapy 框架结构
思考scrapy 为什么是框架而不是库scrapy是如何工作的项目结构
在开始爬取之前,必须创建一个新的Scrapy项目。进入您打算存储代码的目录中,运行下列命令:注意:创建项目时,会在当前目录下新建爬虫项目的目录。
2022-06-02
Python的爬虫框架scrapy用21行代码写一个爬虫
开发说明
开发环境:Pycharm 2017.1(目前最新)开发框架:Scrapy 1.3.3(目前最新)
目标爬取线报网站,并把内容保存到items.json里
页面分析根据上图我们可以发现内容都在类为post这个div里下面放出post
2022-06-04
上手简单,功能强大的Python爬虫框架——feapder
简介feapder 是一款上手简单,功能强大的Python爬虫框架,使用方式类似scrapy,方便由scrapy框架切换过来,框架内置3种爬虫:AirSpider爬虫比较轻量,学习成本低。面对一些数据量较少,无需断点续爬,无需分布式采集的需
2022-06-02
2023-05-29
java实现一个简单的网络爬虫代码示例
目前市面上流行的爬虫以python居多,简单了解之后,觉得简单的一些页面的爬虫,主要就是去解析目标页面(html)。那么就在想,java有没有用户方便解析html页面呢?找到了一个jsoup包,一个非常方便解析html的工具呢。使用方式也非
2023-05-30
2024-04-02
2023-08-31
nodeJS实现简单网页爬虫功能的实例(分享)
本文将使用nodeJS实现一个简单的网页爬虫功能
网页源码
使用http.get()方法获取网页源码,以hao123网站的头条页面为例
http://tuijian.hao123.com/hotrankvar http = require(
2022-06-04
使用python实现一个简单的图片爬虫
本教程详细介绍使用Python编写图片爬虫的步骤:导入库(requests、BeautifulSoup)获取目标网站的HTML代码解析HTML提取图像URL下载图像处理错误优化建议:并行下载图像使用线程池使用缓存示例脚本可从特定网站爬取特定类型的图像。最佳实践:遵守机器人协议限制爬虫速率避免下载受版权保护的图像获得必要授权
2024-04-02
GoUI:一个非常简单的 GUI 框架
最近,我一直想开发一些桌面(主要是 Windows,但也可以考虑 MacOS 或 Linux)应用程序。虽然 Go 不是开发 UI 应用程序时首选语言,但是该语言的简单性和健壮性仍然使它成为我的首选语言。是的,这是我的锤子(hammer).
如何在Python中实现一个简单的爬虫程序
如何在Python中实现一个简单的爬虫程序随着互联网的发展,数据已成为当今社会最宝贵的资源之一。而爬虫程序则成为了获取互联网数据的重要工具之一。本文将介绍如何在Python中实现一个简单的爬虫程序,并提供具体的代码示例。确定目标网站在开始编
2023-10-22
怎么使用Java IO流和网络制作一个简单的图片爬虫
这篇文章主要介绍“怎么使用Java IO流和网络制作一个简单的图片爬虫”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Java IO流和网络制作一个简单的图片爬虫”文章能帮助大家解决问题。Ja
2023-07-05
如何用Python写一个简单的Web框架
如何用Python写一个简单的Web框架,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、概述在Python中,WSGI(Web Server Gateway
2023-06-17
如何利用C++实现一个简单的网页爬虫程序?
如何利用C++实现一个简单的网页爬虫程序?简介:互联网是一个信息的宝库,而通过网页爬虫程序可以轻松地从互联网上获取大量有用的数据。本文将介绍如何使用C++编写一个简单的网页爬虫程序,以及一些常用的技巧和注意事项。一、准备工作安装C++编译器
2023-11-04