zeijibashuai / node-spider

nodejs爬虫,爬取汽车之家所有车型数据demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

应用介绍

nodejs爬虫,爬取汽车之家所有车型数据 http://www.autohome.com.cn/car/

包括品牌,车系,年份,车型四个层级。

特性

现有特性

1、爬取汽车之家的数据;

2、自动存入MongoDB数据库

未来要添加特性

1、用HighChart显示爬取数据;

2、将数据自动存入MySQL;

3、添加单元测试.

使用的node模块:

superagent, request, iconv; (网络请求模块,iconv用于gbk转码)

cheerio; (和jQuery一样的API,处理请求来的html,省去正则匹配)

eventproxy, async; (控制并发请求,async控制得更细)

async控制并发请求数量为10个(避免封IP与网络错误)

模拟sleep使间隔100ms(不设间隔偶尔会出现dns错误)

去除express模块,该为控制台直接开启爬虫(数据量大,打开网页来开启爬虫可能会由于超时而重新发起访问)

最终使用的模块

request, iconv, cheerio, async

最后自动存入到mongoDB数据库

项目说明

app.js是爬虫主程序,分步骤抓取数据。

爬取步骤:

  1. 抓取品牌和车系;
  2. 抓取年份;
  3. 抓取车型;
  4. 存入本地json文件;
  5. 自动存入MongoDB数据库.

细节控制

1、在售款有2016款和2017款;

2、有的车系在售有2016款,停售的也有2016款;

3、抓取失败时重新抓取该页面;

4、抓取完毕自动存入data.json;

5、存取完毕,读取并存入MongoDB;

环境要求

运行项目前请先安装Node和MongoDB数据库

贡献者

Frank--https://github.com/sunfeng90

使用方法

#### 安装依赖
npm install

#### 启动爬虫,数据存储于data.json
node app

#### 存入MongoDB数据库
注意:爬虫的数据自动存入你本地的MongoDB数据库(前提是你已经安装了MongDB数据库)

爬取结果截图

赞助

协议

About

nodejs爬虫,爬取汽车之家所有车型数据demo


Languages

Language:JavaScript 89.9%Language:HTML 10.1%