[房产交易数据分析](1) 基础设施建设

0. 引言

本小节主要介绍用到的主要使用了哪些技术,算是一个开场~

真正做的东西,请看后续的文章

如果您对这方面正好并没有太多的经验,这篇文章是一个比较好的提示文档。注意:具体如何一步步的操作,还需要您自行到官网查找相关说明。

在后面的实际操作之中,还会用到其他的技术,会在后面相应的进行说明。

文章来源:http://www.flyml.net/2016/10/15/house-stat-basic-setup/

1. 选择爬虫框架

构建爬虫,首先要选择一个适合自己、使用称手的爬虫框架。

这方面笔者大力推荐基于Java的WebMagic. 官网: http://webmagic.io/ . 如果您的主力语言是Python, scrapy 也是一个非常成熟强大的爬虫框架。 但是个人感觉在易用性上面,WebMagic 还是要更甚一筹。

 

2. WebMagic 入门: 引入与实践方式

WebMagic的文档还是很丰富的。 中文文档地址: http://webmagic.io/docs/zh/

WebMagic 比较方便的引用方式还是通过maven引入。

另外,如果你需要爬的网站数量比较多,我推荐下面的组织方式:

 

  1. 每个网站一个单独的Processor,
  2. 不同的URL在Processor的process() 方法之中通过工厂方法进行区分。

具体可以参考GitHub 上面的源码:https://github.com/RangerWolf/house-stat

 

3. 使用JFinal的ActiveRecordPlugin 存储数据。

之前一直使用JFinal做Web后台,使用起来比较方便,体现在:

  • 无需任何xml配置文档
  • 自带DB ORM类似的存储类库
  • 结构简单,层次概念清晰

 

因此在这个项目之中,抛弃了之前我自己写的入库框架,转而使用Jfinal。

首先还是需要通过Maven引入相关的类库:

在Processor之中需要相应的startDB / stopDB

 

只需要在爬虫启动开始StartDB在爬虫结束之后stopDB即可。

 

4. 分析页面,抽取CSS selector

当需要从页面上面提取数据的时候,xpath 与 css selector 都是非常常用的技术。 个人更偏向于css selector.  Chrome 浏览器自带的提取工具就比较好用:

 

至此,基础设施已经基本上构建完毕,下面可以真实的去构建一个可以实际运行的爬虫啦

 

本文为原创文章,转载请注明出处:http://www.flyml.net

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注