当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

Egg Java

Java 网络爬虫
授权协议 Apache
开发语言 Java
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 国产
投 递 者 海信鸥
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Egg 简介

Egg

它一个通用高效的爬虫,希望它能够替大家实现一些需求,更希望能为开源做出自己的贡献。目前,还在成长,在我的构想下,它还需要添加很多功能,我会继续完善。有任何疑问以及需求请以与作者交流:630841816@qq.com

  • Egg是一个通用,多线程的Java爬虫框架。

  • Egg简单小巧,api非常简单,容易上手。

  • Egg性能不错,并实现多种请求方式。

  • 能够比较快的响应使用者的需求

速度说明

实测数据,在20M无线网下(隔了堵墙,所以会不稳定)

1. 爬取1000网页,重复爬取十次
  • 8线程,耗时平均在15秒左右

  • 16线程,平均耗时12秒左右

  • 32线程,平均耗时12秒左右

速度大概在1.7-2.5m/s左右

功能介绍

1.可以通过各种方式爬取网页,当然有些并不完善,在目前主要实现get,post,其余会继续开发

2.可以从网页中提取出主体内容

3.其余在仍在开发....

开发说明

作者非常希望能通过自己的努力,可以推动一点开源事业的发展,很希望可以为开源做出自己的一份贡献,更希望能够在一个深入发掘。Egg虽然还有很多不如人意的地方,但是作为在校大学生,会为大家及时解决并更新代码。遇到有需要的需求,可以及时添加功能,和大家广泛交流。作为开发者,在开发出简单易懂,容易使用的软件做着努力,所以,初学者我认为也应该很容易可以从它里面获取自己想要的。大家可以阅读源码,熟悉代码流程,和相关包的使用。

希望

作为开发者当然希望越来越多的人使用它。并且可以为它提出你宝贵的意见和建议。

协议

遵循Apache 2.0协议

贡献者

向下面提交过代码的同学表示感谢(哈哈,就我啦)

邮件交流

王捉熊630841816@qq.com

0.3.00版本更新说明

相对于以前的api,这个版本更加易用,功能也愈加完善,配置更加简单

  • 与之前的版本添加dataprocesspor包,用来处理Page 中的result

  • 新添model包,系统中数据传输的model

    • BaseModel任何model都可以继承它,它封装了model的共有操作

    • 新添Site,用于配置爬虫爬取的站点信息,有了更加丰富的配置,类似于headers,cookie,等等

  • net包修改

    • 添加FactoryMonitor 虚拟类,用来监控factory长生多少request

    • 新添page 用来保存抓取后的数据

    • RequestFactory用来产生request

  • 新添parse包,用来解析抓取数据

    • Parser是一个解析器,用来方便用户提取抓取数据中自己需要的东西

    • Handler是一个处理器,用来处理每次抓取之后的操作

    • Selector是一个选择器,用来判断是否是我们所需要的内容

  • 疾速初始化 应用脚手架,对我的项目进行疾速初始化 $ mkdir egg-example && cd egg-example $ npm init egg --type=simple $ npm i 启动我的项目 $ npm run dev $ open http://localhost:7001 拜访成果如下 逐渐搭建 初始化我的项目 $ mkdir egg-example $ cd egg-e

  • 原文出处:http://www.worldhello.net/2010/12/08/2178.html 本文略有改动 1.1 安装setuptools 首先要安装setuptools工具。Debian/Ubuntu下可以直接使用apt安装: $ sudo apt-get install python-setuptools 或者通过pip安装: $ pip install setuptools 更新

  • 最近研究阅读这个APP,其主要功能就是通过一个个书源,从而实现移动端阅读的体验 比如说某些在线小说阅读网站,会加上相应的广告,从而影响用户阅读体验,于是阅读这个APP就是做了类似净化阅读体验 但是小说阅读网站千千万万,如果去适配每个小说阅读网站,岂不是累死,且作者也会有被发律师函的危险,于是作者提供了对应的工具,允许各位用户可自定义书源,阅读APP则通过导入书源,即可实现对某个小说阅读网站的支持

  • import java.awt.Color; import java.awt.Graphics; import java.awt.Rectangle; import java.util.Random; public class Egg { int row,col; int w = Yard.BLOCK_SIZE , h = Yard.BLOCK_SIZE ; private stat

  • $ mkdir egg-demo $ cd egg-demo $ touch setup.py $ ls setup.py下面主要就是填充setup.py。setup.py其实是python工具包distutils的配置文件,setuptools就是基于distutils来做的。 在setup.py中通过setup函数来配置打包信息。首先要引入setuptools的函数setup。setuptoo

  • 我正在为oracleonosql数据库提供一个Python适配器。oraclenosql数据库作为一个独立的java应用程序运行,至少在java程序中,通过告诉程序要连接的主机名和端口以及一些配置设置,可以与它进行交互。然后从包含该配置的“kvstore”对象调用java。在 我想创建一个Python库,它基本上公开oraclenosql所拥有的java方法的Python版本,并将这些方法转换为j

 相关资料
  • 主要内容:认识爬虫,爬虫分类,爬虫应用,爬虫是一把双刃剑,为什么用Python做爬虫,编写爬虫的流程网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。 认识爬虫 我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如 360 浏览器的爬虫称作 360Spider,搜狗的爬虫叫做

  • 案例:爬取百度新闻首页的新闻标题信息 url地址:http://news.baidu.com/ 具体实现步骤: 导入urlib库和re正则 使用urllib.request.Request()创建request请求对象 使用urllib.request.urlopen执行信息爬取,并返回Response对象 使用read()读取信息,使用decode()执行解码 使用re正则解析结果 遍历输出结果

  • 5.1 网络爬虫概述: 网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 网络爬虫按照系统结构和实现技术,大致可分为一下集中类型: 通用网络爬虫:就是尽可能大的网络覆盖率,如 搜索引擎(百度、雅虎和谷歌等…)。 聚焦网络爬虫:有目标性,选择性地访问万维网来爬取信息。 增量式网络爬虫:只爬取新产生的或者已经更新的页面信息。特点:耗费

  • 图片来源于网络 1. 爬虫的定义 网络爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。—— 百度百科定义 详细定义参照 慕课网注解: 爬虫其实是一种自动化信息采集程序或脚本,可以方便的帮助大家获得自己想要的特定信息。比如说,像百度,谷歌等搜索引擎

  • 问题内容: 如何过滤来自网络抓取工具等的点击。不是人类的点击。 我使用maxmind.com从IP请求城市。.如果我必须支付所有点击数(包括网络抓取工具,机器人等)的话,这并不便宜。 问题答案: 有两种检测机器人的一般方法,我将它们称为“礼貌/被动”和“激进”。基本上,您必须使您的网站出现心理障碍。 有礼貌 这些是礼貌地告诉抓取工具他们不应该抓取您的网站并限制抓取频率的方法。可以通过robots.

  • 本文向大家介绍利用C#实现网络爬虫,包括了利用C#实现网络爬虫的使用技巧和注意事项,需要的朋友参考一下 网络爬虫在信息检索与处理中有很大的作用,是收集网络信息的重要工具。 接下来就介绍一下爬虫的简单实现。 爬虫的工作流程如下 爬虫自指定的URL地址开始下载网络资源,直到该地址和所有子地址的指定资源都下载完毕为止。 下面开始逐步分析爬虫的实现。 1. 待下载集合与已下载集合 为了保存需要下载的URL

  • urllib介绍: 在Python2版本中,有urllib和urlib2两个库可以用来实现request的发送。 而在Python3中,已经不存在urllib2这个库了,统一为urllib。 Python3 urllib库官方链接:https://docs.python.org/3/library/urllib.html urllib中包括了四个模块,包括: urllib.request:可以用来