1.0.7 • Published 7 years ago

spiderrequest v1.0.7

Weekly downloads
9
License
ISC
Repository
-
Last release
7 years ago

spiderRequest

通过简单的设置配置文件,获取扒取网页信息,返回数据。

起步

下面看一个简单的例子,只需设置几个简单的属性,就可以得到想要的到的数据。

//引用spiderRequest
const spiderRequest = require("spiderrequest");

//定义一个要扒取的网页网页信息,以百度首页为例,获取‘百度一下’按钮的值
let config = {
	url: 'https://www.baidu.com/',
	encode: 'utf8',
	content: {
		'name':'btn',
		'selector': '#su',
		'value':['attr','value']
	}
};
new spiderRequest(config).getContent()
    .then((data)=>{
    	console.log(data);
    });
//输出{ btn: '百度一下', location: 'https://www.baidu.com/' }

配置

  1. name:扒取数据最终以json的形式返回,那么是value获取值对应的key。
  2. selector:获取对应的dom节点,遵守cheerio的语法,与jquery获取dom节点类似。需要注意的是,其实在上级dom节点的基础上找子节点。
  3. eq:如果通过selector获取的dom节点有多个,通过设置eq的值确定获取那个dom节点。
  4. value:数组形式,如果selector获取的节点有要获取的值,则通过以下配置直接获取值。
    • ['text']:对节点执行text()
    • ['html']:对节点执行html()
    • ['attr','value']:对节点执行attr('value')
    • ['data','name']:对节点执行data('name') 也可以传入对象数组,用于查找其子节点的值。子节点的参数定义与options一致。
  5. machining:定义一个函数,用于对该节点取值进行加工,例如两端去除空格,截取字符串等操作。函数接受两个参数,分别是当前节点的值和当前页面路径。需要注意的是,函数必须有返回值,并且该节点必须为值,而不能为子节点。
'machining':(value,location)=>{
	return 'test:'+value; 
}

接口

getContent:才用es6的promise语法,通过new spiderRequest(config)初始化spiderRequest对象,并通过调用getContent方法获取爬取的 数据,该方法返回一个promise对象。

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago