没有合适的资源?快使用搜索试试~ 我知道了~
首页实战流程---网络爬虫爬取用户数据和文章数据存到数据库流程
实战流程---网络爬虫爬取用户数据和文章数据存到数据库流程 在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯 靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。如何自动高效地获取互联网 中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题 而生的。 网络爬虫(Web crawler)也叫做网络机器人,可以代替人们自动地在互联网中进行数 据信息的采集与整理。它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚 本,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方 式。
资源详情
资源评论
资源推荐
第8章-爬虫
学习目标:
说出网络爬虫的作用
能够使用webmagic爬取网络数据
完成十次方文章爬虫微服务
完成十次方用户数据的爬取
1 谈谈网络爬虫
1.1 什么是网络爬虫
在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯
靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。如何自动高效地获取互联网
中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题
而生的。
网络爬虫(Web crawler)也叫做网络机器人,可以代替人们自动地在互联网中进行数
据信息的采集与整理。它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚
本,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方
式。
从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。爬虫从一个或若干初始
网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新
的URL放入队列,直到满足系统的一定停止条件。
1.2 网络爬虫可以做什么
我们初步认识了网络爬虫,网络爬虫具体可以做什么呢?
可以实现搜索引擎
大数据时代,可以让我们获取更多的数据源。
快速填充测试和运营数据
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
为人工智能提供训练数据集
1.3 网络爬虫常用的技术(Java)
1.3.1 底层实现 HttpClient + Jsoup
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能
丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目
Cactus 和 HTMLUnit 都使用了 HttpClient。更多信息请关注http://hc.apache.org/
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供
了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数
据。
1.3.2 开源框架 Webmagic
webmagic是一个开源的Java爬虫框架,目标是简化爬虫的开发流程,让开发者专注于
逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习
爬虫开发的材料。
webmagic的主要特色:
完全模块化的设计,强大的可扩展性。
核心简单但是涵盖爬虫的全部流程,灵活而强大,也是学习爬虫入门的好材料。
提供丰富的抽取页面API。
无配置,但是可通过POJO+注解形式实现一个爬虫。
支持多线程。
支持分布式。
支持爬取js动态渲染的页面。
无框架依赖,可以灵活的嵌入到项目中去。
2 爬虫框架Webmagic
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
2 爬虫框架Webmagic
2.1 架构解析
WebMagic的设计目标是尽量的模块化,并体现爬虫的功能特点。这部分提供非常简
单、灵活的API,在基本不改变开发模式的情况下,编写一个爬虫。
WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组
件,并由Spider将它们彼此组织起来。这四大组件对应爬虫生命周期中的下载、处理、管
理和持久化等功能。而Spider则将这几个组件组织起来,让它们可以互相交互,流程化的
执行,可以认为Spider是一个大的容器,它也是WebMagic逻辑的核心。
四大组件
Downloader
Downloader负责从互联网上下载页面,以便后续处理。WebMagic默认使用了
ApacheHttpClient作为下载工具。
PageProcessor
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
PageProcessor负责解析页面,抽取有用信息,以及发现新的链接。WebMagic使用Jsoup
作为HTML解析工具,并基于其开发了解析XPath的工具Xsoup。
在这四个组件中,PageProcessor对于每个站点每个页面都不一样,是需要使用者定制的部
分。
Scheduler
Scheduler负责管理待抓取的URL,以及一些去重的工作。WebMagic默认提供了JDK的内
存队列来管理URL,并用集合来进行去重。也支持使用Redis进行分布式管理。
Pipeline
Pipeline负责抽取结果的处理,包括计算、持久化到文件、数据库等。WebMagic默认提供
了“输出到控制台”和“保存到文件”两种结果处理方案。
2.2 PageProcessor
2.2.1 爬取页面全部内容
需求:编写爬虫程序,爬取csdn中博客的内容 https://blog.csdn.net/
(1)创建工程,引入依赖
(2)编写类实现网页内容的爬取
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic‐core</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic‐extension</artifactId>
<version>0.7.3</version>
</dependency>
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
Spider是爬虫启动的入口。在启动爬虫之前,我们需要使用一个PageProcessor创建
一个Spider对象,然后使用run()进行启动。
packagecn.itcast.demo;
importus.codecraft.webmagic.Page;
importus.codecraft.webmagic.Site;
importus.codecraft.webmagic.Spider;
importus.codecraft.webmagic.processor.PageProcessor;
/**
*爬取类
*/
publicclassMyProcessorimplementsPageProcessor{
publicvoidprocess(Pagepage){
System.out.println(page.getHtml().toString());
}
publicSitegetSite(){
returnSite.me().setSleepTime(100).setRetryTimes(3);
}
publicstaticvoidmain(String[]args){
Spider.create(newMyProcessor()
).addUrl("https://blog.csdn.net").run();
}
}
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
剩余36页未读,继续阅读
都旭宝
- 粉丝: 10
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1