爬虫的结构
爬虫大致分为三个部分
- 控制器:主要负责根据系统传过来的URL链接,分配线程,然后启动线程调用爬虫爬取网页的过程
- 解析器:负责爬虫的主要部分,作用:下载网页功能,对网页的文本进行处理,如过滤,抽取标签的功能,分析数据的功能
- 资源库:用来存储网页中下载下来的数据记录的容器,并生成索引目标源。中大型的数据库产品:Oracle、Sql Server等
爬虫分类
- 分布式爬虫(Nutch)问题:1.海量URL管理;2.网速;做搜索引擎可以选择
- JAVA爬虫问题:不支持多线程、不支持代理、不能过滤重复URL的,那都不叫开源爬虫,那叫循环执行http请求。
- 非JAVA爬虫:在非JAVA语言编写的爬虫中,有很多优秀的爬虫。这里单独提取出来作为一类,并不是针对爬虫本身的质量进行讨论,而是针对larbin、scrapy这类爬虫,对开发成本的影响。