# collect
数据采集
## Install
```sh
npm i tvrcgo/collect
```
## Usage
#### 采集数据
流式处理,自由添加处理函数
```js
var collect = require('collect');
collect.src('http://example.com')
.use(function(data, next){
// 网页内容在 data.content
// process data -> data2
next(data2);
})
.use(function(data2, next){
// process data2 -> data3
next(data3);
})
```
#### 选择元素
支持索引值、属性、html内容,默认取标签text
- `[]` 索引
- `@` 属性
- `:html` html内容
```js
collect.src('http://example.com')
.query({
li: '.list li[1]', // 按索引找单个元素
imgs: '.list li img@src', // 多个img的src属性值
cols: ['.list li', 'img@src, a@href, a'], // 多个li元素下面多个元素的值
html: '.list li:html' // html内容
})
.use(function(data, next){
// data.li
// data.imgs
// data.cols
// data.html
})
```
#### 指定 User-Agent 和代理
```js
collect.src('http://example.com', {
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 ...",
proxy: "http://191.26.14.23:8000"
})
.use(function(data, next){
// process data
next(data);
})
```
#### 采集 Ajax 页面内容
- `javascript` 为 true 允许页面执行JS
- `delay` 页面最后一次发出或收到请求后,在 delay 时间内再无动作,认为 ajax 加载已经完成
- `timeout` 页面加载超时
```js
collect.src('http://example.com', {
javascript: true,
delay: 1000*5,
timeout: 1000*15
})
.use(function(data, next){
// process data
})
```
#### 输出
将处理后的数据输出到文件
```js
collect.src('http://example.com')
.use(function(data, next){
// process data
next(data);
})
.dest('body.csv');
```
输出到其它流
```js
collect.src('http://example.com')
.use(function(data, next){
// process data
next(data);
})
.pipe(stream);
```
## License
MIT
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
数据采集_collect.zip (8个子文件)
collect-master
lib
asrc.js 2KB
query.js 2KB
LICENSE 1KB
package.json 675B
test
test.js 2KB
index.js 4KB
.gitignore 526B
README.md 2KB
共 8 条
- 1
资源评论
好家伙VCC
- 粉丝: 1934
- 资源: 9137
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功