Java 基于WebMagic 开发的网络爬虫
第一次接触爬虫,之所以选择WebMagic,是因为文档齐全、用法简单、而且框架一直在维护。
WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,我们可以快速开发出一个高效、易维护的爬虫。
官网地址:http://webmagic.io/
官方文档:http://webmagic.io/docs/zh/
文档写的很详细,重头到尾看一遍,编写简单的爬虫基本上没有任何问题了(如果不行,那就看两遍)。
我这里就不在讲解怎么使用了(讲解的没有官网详细,甚至可能讲错)。这里我放两个我写的小工具。简单的网站可以用它直接抓取。
上图

抓取地址:是我们的起始网页。
列表规则(正则表达式):存放具体页面链接的列表页面
页面规则(正则表达式):我们要抓取的具体页面
抓取内容(Xpath):我们要抓取的具体内容,其中"<jschrj>" 为每个字段的分隔符,“<lyf>”是字段显示的名称和内容的分隔符。
存放地址:爬取下来的文件存放的位置。
线程数:开启多少个线程爬取(没有用代理,所以线程开多了,IP容易被网站封杀)。
下面的文本框为控制台,用来输出爬取的详细信息。
工具下载地址:https://download.csdn.net/download/lyfzxf/10533865。
源码下载地址:https://download.csdn.net/download/lyfzxf/10533892。
Java 基于WebMagic 开发的网络爬虫的更多相关文章
- 学习用java基于webMagic+selenium+phantomjs实现爬虫Demo爬取淘宝搜索页面
由于业务需要,老大要我研究一下爬虫. 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周.基于以上原因固放弃python,选择java为语言来进行开发.等之后有时间再尝试pytho ...
- Java实现一个简单的网络爬虫
Java实现一个简单的网络爬虫 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWri ...
- Java开发、网络爬虫、自然语言处理、数据挖掘简介
一.java开发 (1) 应用开发,即Java SE开发,不属于java的优势所在,所以市场占有率很低,前途也不被看好. (2) web开发,即Java Web开发,主要是基于自有或第三方成熟框架的系 ...
- WebMagic写的网络爬虫
一.前言 最近因为有爬一些招聘网站的招聘信息的需要,而我之前也只是知道有“网络爬虫”这个神奇的名词,具体是什么.用什么实现.什么原理.如何实现比较好都不清楚,因此最近大致研究了一下,当然,研究的并不是 ...
- 一个使用 asyncio 开发的网络爬虫(译文)
原文地址:https://www.aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html 作者简介 A. Jesse Jiryu ...
- 智普教育Python培训之Python开发视频教程网络爬虫实战项目
网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...
- 基于HttpClient实现网络爬虫~以百度新闻为例
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/40891791 基于HttpClient4.5实现网络爬虫请訪问这里:http:/ ...
- DHT协议网络爬虫磁力链接和BT种子搜索引擎
系统功能和用到的技术. 系统包括几个独立的部分: 使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子: 使用 PHP CI 框架开发的简易网站: 搜索引擎目前直接使用的 ...
- Python 基础教程 —— 网络爬虫入门篇
前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...
随机推荐
- s21day23 python笔记
s21day23 python笔记 一.内容回顾及补充 字符串格式化 %s # 示例一:特别注意:最后的右括号前面必须有逗号(,) msg = '我是%s,年龄%s'%('alex',19,) # 元 ...
- Virtualbox 虚拟机安装Linux
背景:Win10系统 MSI主板 目标:基于Win10 利用虚拟机Virtualbox安装Linux 准备工作:Ctrl+Alt+Del打开任务管理器——>性能(查看CPU虚拟化是否开启) ...
- SQLI DUMB SERIES-15
(1)无论输入什么都没有回显,但是输入 admin'# 时会显示成功登录,说明闭合方式是单引号 (2)无回显,则使用盲注,可用用时间延迟攻击法. 测试时间延迟是否可行: uname=admin' an ...
- 第二次实验:CC2530平台上GPIO组件的TinyOS编程
实验二 CC2530平台上GPIO组件的TinyOS编程 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生理解和掌握CC2530的GPIO及外部中断,及其TinyOS编程方法 学 ...
- Linux 系统的用户和组
目录 1. 用户及组相关文件 2. 用户相关查询 2.1 直接通过cat文件查看用户及组文件内容 2.2 使用下面查询命令查看 3. 使用操作命令修改用户及组相关文件 3.1 专有编辑命令(仅限高级用 ...
- JTA事务管理
何为分布式事务 一个事务包含多个操作,多个操作操作了多个数据源,这样的事务称为分布式事务 和普通事务的区别 单一数据源,事务管理可以借助数据源本地事务完成,实现简单 分布式事务之困难:不可简单的借助数 ...
- 14. Encryption tools (加密工具 8个)
SSH(Secure Shell)现在是无处不在的程序,用于在远程机器上登录或执行命令. 它通过不安全的网络在两个不受信任的主机之间提供安全的加密通信,取代了可怕的不安全的telnet / rlogi ...
- 0. General-purpose tools (通用工具 8个)
http://en.wikipedia.org/wiki/Netcat这个简单的实用程序通过TCP或UDP网络连接读写数据. 它被设计为一个可靠的后端工具,可以直接或轻松地使用其他程序和脚本驱动. 同 ...
- 【SQL】 借助游标来实现文本的分列与合并
有时我们会遇到需要把表中个别字段拆分成多条数据或是把多条数据合并到一起的情况.一般的编程语言都有函数“split”和“join”来实现,而SQL中既没有这些函数也没有类似数组和列表这类方便保存成组数据 ...
- Android Studio学习之 日志工具
Log.v() 低级日志 Log.d(' ',' ') debug调试信息 第一个参数tag,当前类名 第二个参数msg,打印具体内容 Log.i() info数据 Log.w() warn警 ...