爬虫思想

垂直型爬虫架构设计(2)

走远了吗. 提交于 2019-12-18 12:41:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 上文提到了关于爬虫的一些简单概念与爬虫真正要做的一些功能.简单的分析了一下垂直型爬虫与宽度(深度)遍历的一些特点.现在,我主要针对于垂直型爬虫的架构设计做一些简单的介绍. 1.垂直型爬虫的基本需求 目前企业级所需的基本上是垂直型爬虫.舆情分析,财经资讯资讯推荐等.基本山使用的都是垂直型爬虫来作为企业级使用的方案,企业级爬虫的特点我上篇博客里面已经讲过了,所以在做垂直型爬虫架构的时候只需要考虑抓去内容所需的功能.简单来说:拿到某篇资讯所需的方式或功能.例如:常见的 javascript方式,ajax等. 简单来列举一些我在抓去数据时所遇到的一些问题: 1.javascript调用正文 2.ajax方式获取正文 3.iframe方式 4.验证码 5.javascript调用下一页连接 6.javascript+post方式获取下一页连接 7.ajax方式获取内容 8.登录... 等. 这些都是需要在设计爬虫之初就要考虑的问题,虽然简单来说爬虫就是获取到需求所需的数据,但是很多时候数据的获取也不是那么简单的.所以框架的整体设计是非常关键的,甚至对于爬虫之后版本的发展都很重要,如果框架设计的不合理,发现新的问题就需要重新构建爬虫或者直接针对遇到的问题设计爬虫.这两种方式都不是可取的. 2.垂直型爬虫框架 之前提到

垂直型爬虫架构设计(1)

[亡魂溺海] 提交于 2019-12-18 12:26:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 从事爬虫方向开发马上也将近两年时间了,今天基友问我关于爬虫的架构设计问题.其实这么久也想总结一下自己的整个开发的过程,架构的设计问题..对自己进行一些总结..仅作参考. 1.爬虫的分类 : 对于我来说,爬虫分为两类: 需要载入配置文件的爬虫与不需要载入配置文件的爬虫. 其实也就是人们常说的垂直型爬虫跟宽度(深度)遍历爬虫. 2.爬虫的架构: 1.宽度遍历爬虫. 做过SEO的朋友大概都知道,如果一个网站需要百度能够尽快的抓取,那么仅仅优化关键词,提高权重等都是比较简单的优化,爬虫友好性需要网站在建设的时候就考虑到爬虫的友好.如:标签设置,架构设计... 宽度遍历爬虫就是宽度抓取,网站在设计的时候就直接是按照宽度设计...不太好理解,也不太好解释... 大概的意思就是深度少...如; 进入首页之后---就能看到各个分类,点击分类就能看到分类列表---点击分类列表就是内容...减少与用户的交互,也让爬虫能直接找到重点. 各大搜索引擎应用的都是宽度遍历方式来抓取数据.不信你可以建一个网站.设置十几级深度..首页-分类--再分类---再分类之后十几级之后才能看到内容..你可以试一下,爬虫抓取的效果怎么样. 宽度遍历爬虫比较常见的很多,Nutch、Heritrix等都是宽度遍历爬虫的典型代表,比较常用的就是Nutch. 2