htmlunit抓取动态网页(【K线形态】模拟点击颜色分类,然后读取定价参考(1))
优采云 发布时间: 2022-01-22 01:23htmlunit抓取动态网页(【K线形态】模拟点击颜色分类,然后读取定价参考(1))
通过交互式网络抓取获取天猫商品价格。
方法:模拟点击颜色分类,然后读取定价
参考(1):
主要利用CasperJS工具包:
最重要的是使用css3选择器来选择需要操作的网页的DOM元素。对于 css3 选择器,请参见:
查看元素的提示:
在浏览器上,右键点击对应元素,选择“Inspect Element”,查看对应元素的html代码。
选择器测试提示:
IE或firefox,F12打开开发者窗口,在搜索栏中输入选择器检测选择器效果。
IE:
火狐:
以下代码使用 casperjs tm.js 运行:
var casper = require('casper').create({
clientScripts: ["jquery-1.8.0.js"],
verbose: false,
logLevel: 'debug',
pageSettings: {
loadImages: false, // The WebPage instance used by Casper will
loadPlugins: false // use these settings
}
});
phantom.outputEncoding = "gbk";//解决乱码问题
//获取需要采集的url列表
casper.start('http://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.5.DOIb7J&id=15770542928&skuId=77000178467&cat_id=2&rn=834703bc8f2c7b8023fafe89107e079c&user_id=291487571&is_b=1', function() {
console.log(this.getCurrentUrl());
//casper.GetDetailUrl(url);
});
//处理当前页面的所有sku价格与信息
casper.then(function getPic() {
product = casper.evaluate(function getProductFromPage() {
return $('ul[class*="tb-img"]').children().size();
});
console.log(product);
var str = ''
for (var i = 1; i li:nth-child(' + index + ') a');
return index;
};
casper.run();
以上代码参考(1)修改,只实现了给定链接的商品价格的抓取,并在控制台输出。如果要使用node.js抓取链接中的商品在多线程中列出,并通过json将捕获的价格发布到服务器,您可以参考原创方法。