浏览器和移动APP采集的区别

优采云 发布时间: 2021-08-03 07:19

  浏览器和移动APP采集的区别

  GoldData 模拟采集 脚本框架,支持浏览器和手机APP采集,专为采集 设计。它是一个集成驱动访问、过程控制、选择器、UI交互、代理和MITM、数据集和关键词存储的框架,大大简化了代码量。并且我们的agent和MITM工具提供拦截http(s),socks协议,可以完成市场99.9%网站和手机App采集。

  #一、 我们为代码做了很多语法糖。例如,我们将 webdriver 和 Appium 中的选择器变成了 JQuery 风格的链式调用。如:

  //打开IE浏览器

__.IE()

//打开Chrome浏览器

__.chrome()

//打开安桌指定App

__.android('com.example.news','.Activity')

//抽取内容

var ret=$id("article").css("table").html()

//或者

ret=$xpath("//table/tr").css("td.single").html()

//或者

$css("table").css("tr").name("btn").click()

  Part二、我们创建了采集process 框架。因为我们使用模拟抓包,所以需要打开浏览器一次,也就是一个会话中的采集data,可以继续上一次采集,并且可以随时暂停、停止、提供输入干预。异常时可退回合理位置。最重要的是提供结构良好、易于阅读、修改和增强的代码。

  Gold({

main:function(){

__.chrome();

},

list:function(){

var kw=$kw('region')

var str=null

while((str=kw.next())){

//创建浏览器新标签页,并将驱动自动切换到该标签页

__switch.newWindow('http://www.example.com/page/'+kw)

var ret=forward('page'))

if(ret){

//...

}

kw.submit(str)

//关闭当前标签页

__switch.close();

}

},

page:function(){

var item={}

item.name=$css('#name').text()

if(!item.name){

backward('list')

return;

}

item.sn=md5(name)

$dataset('shop').add(item)

}

})

  第三、我们添加并集成了代理和MITM工具,并努力使其支持http(s)协议,并增加了对socks协议的支持。让这些协议能够修改请求和响应函数。这大大提升了采集的能力和速度。

  //获取代理表里的地址

var proxydb=__proxy.db('cate1')

//创建代理

__proxy.createServer(true,proxydb.last().url).start(0);

//添加*敏*感*词*,比如将不需要请求的内容去掉。

__proxy.addFilter(,,,)

//创建启动带有代理的Google Chrome浏览器

__.chrome(__proxy.get())

  在四、中,我们增加了关键词、数据集、访问和存储功能,以及waitForInput等,让采集人员可以专注于采集业务而不必专注于存储。

  //访问关键词

$kw("city").add('New York')

//访问数据集

$dataset('area').add({sn:md5(url),name:'New York'});

  第五,我们可以在线测试,边写代码边测试,大大提高了脚本编写效率。

  第一个六、还可以结合GoldData平台,提供定时调度、分布式采集、数据融合等功能,一步一步将数据与数据的关系整合到你的数据应用表采集中.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线